トップページphp
1001コメント324KB

【PHP】下らねぇ質問はここに書き込みやがれpart16

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/05(日) 22:35:34ID:sf8bx52D
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/

過去スレは>>2
0017nobodyさん2006/02/06(月) 00:43:10ID:???
>>16
やっぱりそうですよね。
スーパーグローバル変数の変数があればそれを返し、
何も無ければ""と空を返すというのを作りたかったのですが、関数にしました。
function ischeck ($a){return ((isset($_REQUEST[$a]))?$_REQUEST[$a]:"");
$test = ischeck ('test');
0018nobodyさん2006/02/06(月) 00:58:15ID:???
function ischeck ($a)
{global $$a;((isset($_REQUEST[$a]))?$$a=$_REQUEST[$a]:"");}
$test = ischeck ('test');

随分と行儀の悪いコーディングをしてしまった…
0019nobodyさん2006/02/06(月) 00:59:41ID:???
まるでbrainf*ckだな、碇よ
002092006/02/06(月) 01:22:28ID:???
すいません。お願いします('A`)
サーバ間通信をするには何か特別な関数とか必要なのですか?
イメージはなんとなく掴めて来たのですが実装方法がなんとも・・・
0021nobodyさん2006/02/06(月) 01:35:53ID:???
>>13
>鯖が規定する403へ飛んでくれません。
4xxで飛ぶ?headerでHTTPのレスポンスを出しているのなら
エラーのコンテンツを提供するのは、そのスクリプト自身ではないのか。

Apacheが出してる403のコンテンツと同じものを出したいのなら
ApacheのErrorDocumentとPHPスクリプトのエラー出力内容を同じにする。
0022nobodyさん2006/02/06(月) 01:40:43ID:???
>>20
その「サーバ間通信」とやらにTCP/IPを使うのならば
基本的にはsocket関数を使う。
0023nobodyさん2006/02/06(月) 01:52:33ID:???
>>20
PHP書籍スレに来た人?
0024202006/02/06(月) 01:54:47ID:???
>>22
はい、HTTPでの通信を、って感じです。
SOCKETって確かLinux上のPHPとかならコンパイルのときにコンフィギュアで指定しないと
使えないんですよね?

>>23
いや、行ったことないです。
0025nobodyさん2006/02/06(月) 02:05:02ID:???
--enable-socketsだね。

PHP書籍スレでよく似た流れを見たから同じ人なのかな?と思ってね。
>ソケット関数を使ったツールを作りたいんだけど、いまいち使い方がわからん
>参考になる本とかある?青マンモスに詳しく載ってる?
って質問に、「RFC読むかC/C++のソケットプログラミング本を読むのがいいよ」みたいな回答を
0026202006/02/06(月) 02:08:56ID:???
>>25
そうでしたか。
すんません、俺まだまだそんなレベルじゃないっす('A`)
AサーバからBサーバに何かパラメータを渡したい時はやっぱりフォームとは違う
処理とか関数が必要なんですよね?それこそSOCKETとか。
俺も明日本探しに行ってきます。
0027nobodyさん2006/02/06(月) 02:14:28ID:???
>>24
--enable-socketsの指定は必要だね。
多くの環境で有効にされてるような気はするけど。
0028nobodyさん2006/02/06(月) 02:15:43ID:???
>>26
そのくらいの用途ならわざわざソケット関数使わなくてもいいよ。
(fsockopen使ったりもするけど)

PEAR::HTTP_Clientとか使ってはどうかな?
0029242006/02/06(月) 02:18:19ID:???
リロード…orz
Bサーバーに値を渡すだけなら単にBサーバーに用意したPHPのページを
GETで呼び出すだけでもいいんじゃないの?
どんなデータをどんなタイミングで渡そうとしてるか知らないけど。
allow_url_fopenを有効にしてfile("http://Bサーバー/受信ページ?データ");でよさげ。
0030202006/02/06(月) 02:31:36ID:???
>>24 >>25 >>26
ありがとうございます!!
何を渡して何を貰うのか等は理解しているのですが、
今一「どうやってデータを渡せば良いのか」が解って
いませんでした。
何か実装方法はいろいろありそうですね・・・
皆さんの意見を参考にしていろいろいじって見ます!
0031202006/02/06(月) 02:32:23ID:???
ああああああああああああ
ごめんなさい、アンカーミスです。
>>27 >>28 >>29 です!
003227=292006/02/06(月) 02:34:10ID:???
ごめんよ。俺が慌てて名前間違ったな
0033nobodyさん2006/02/06(月) 03:05:46ID:???
>>1
忘れるなよ
http://wiki.2chx.net/php/
0034nobodyさん2006/02/06(月) 03:57:38ID:???
そこ使えないからもうリンク張らなくていいよ
0035nobodyさん2006/02/06(月) 06:41:38ID:???
エクスプローラからドラッグアンドドロップでファイルをアップロードできるようにしたいのですが、 
ActiveXを組み合わせる以外に方法はありませんか? 
0036nobodyさん2006/02/06(月) 09:14:56ID:???
>>35
ドラッグ&ドロップを認識できるのってActiveX以外にあるの?
0037nobodyさん2006/02/06(月) 10:57:08ID:???
テキストファイルの最後の行だけ必要で、
それを読み込む効率的な方法はどうでしょうか。
0038nobodyさん2006/02/06(月) 11:14:02ID:???
PHPでフォームを飛ばしたときisset($_POST['hoge']){}
って感じで処理を区別してるのですが
エンターキーを無効して上のように処理する方法はないでしょうか?
JSの方になるのでしょうか?スレ違いならすいません。
0039nobodyさん2006/02/06(月) 11:19:41ID:???
テキストファイルの分量にもよるけど、バカみたいに巨大なログファイルが相手だと
結局 $line = `tail -1 $filename`; が1番速くて省メモリだった。という経験はある。
0040nobodyさん2006/02/06(月) 11:24:46ID:???
>>38
「無効して」の意味がわかりません
0041nobodyさん2006/02/06(月) 11:29:09ID:???
>>38
うん。htmlの書き方と簡単なJavascripで補完する形になるよ。
0042nobodyさん2006/02/06(月) 11:37:33ID:???
>>39
なるほど…
普通に上から読んでいくか、そういう方法かということなんでしょうかね。
0043前スレ9312006/02/06(月) 11:39:05ID:???
ども、前スレ931でアイコンアップしたもんです。
あくまでも拾い物なんで、テキトーに使ってやってください。

ついでに、それが含まれたweb iconセットをうpってきました。
これだけでほとんどいけてます、ウチだと。
ttp://up.spawn.jp/file/up11206.zip
0044432006/02/06(月) 11:39:53ID:???
あ、直リン禁止(403)ですね。。。
ttp://up.spawn.jp/index.html
ここのup11206ですー。
0045nobodyさん2006/02/06(月) 13:31:31ID:???
下らない質問で悪いんだけど、
そのアイコンってどう使うの?
何処に設定するの?
教えてちょ。
0046nobodyさん2006/02/06(月) 13:46:42ID:???
エクスプローラのフォルダオプション - ファイルタイプの設定でアイコン変更するのだろう。
0047nobodyさん2006/02/06(月) 15:59:11ID:???
すみません、もしかしたら板違いですらあるかもしれないですが。。
フリーメールってありますよね、@melu.jpとかの。
ああいうフリーメール発行サイトの運営をしようと思ったらどういう
知識が必要ですか?
かなり恥ずかしい質問ですが。。
レンタルサーバ(さくら)とかでも出来るものでしょうか?
0048nobodyさん2006/02/06(月) 16:18:54ID:???
無料なら問題なさそう。
さくらサーバーでメルアドを作るの?それは無理じゃないかなぁ。
自宅鯖でやるならまだしも。

というか、板違い。
何処の板が適正か俺には判断できないが。
0049nobodyさん2006/02/06(月) 16:26:20ID:???
>>47
自宅鯖とかの話じゃないかな、それは。
0050nobodyさん2006/02/06(月) 16:27:36ID:???
>>47
サーバを管理できるだけの技術と権限が必要。
共有サーバでは権限が制限されるので、ほぼ無理。
メアドを無限に発行してくれるサービスであればできなくもないけど、
不特定多数による利用は規約で認められていないと思う。
専用サーバを借りるか、自鯖を建てるのが妥当かと。

詳しくはサーバ板で訊いた方がいいと思われ。
0051nobodyさん2006/02/06(月) 16:55:23ID:???
>>47
Postfixで検索してみれ
0052nobodyさん2006/02/06(月) 17:01:36ID:???
>>47
PHPで出来たWebメール機能も持ったフリーメール管理ツールがあるので
PHPの話に持っていけなくもないが、基本的にはスレ違い・板違い。
収容したドメインに対してメールアカウント追加のI/Fを
提供してるところも少ない(でも少ないけどあるよ)ので、
結局はサーバの管理権限を確保することが必要。
0053472006/02/06(月) 17:31:22ID:???
皆さんありがとうございました
そうですかー、自宅サーバがあったほうがいいんですね…
プログラムの練習のためにも必要だろうし
でも今使ってるパソより練習サーバ用に買うマシンの方が
性能よくなりそうなんですよね、今使ってるの古いからw
なんか、いい方法探してみます

ありがとうございました!
0054nobodyさん2006/02/06(月) 17:32:56ID:???
>>42
むかーし、某所でCで最高速のtailコマンドを実装するコンテストみたいのがあったけど、
fseekで後ろから1024バイト単位など適当なサイズで読み込みかけてって、
中身に改行コードが見つかればそこから末尾の行を抽出する、みたいな手法があったよ。

まともなtailコマンドだと1行の長さも抽出する行数も不定なんでチューニングに
かなり神経使うロジックを組んでたけど、大体似たような長さの行ばかりで
しかも抽出対象が1行だけなら簡単なロジックで高速に抜き出せると思う。
0055nobodyさん2006/02/06(月) 17:39:47ID:???
メールだけのホスティングサーバとかって結構安くあるんじゃない?
自分で鯖を一から実装したいってのなら別だけど。
0056nobodyさん2006/02/06(月) 17:44:20ID:/04IpGBt
ファイルを検索するfindfirstみたいな関数ありますか?
0057nobodyさん2006/02/06(月) 17:54:20ID:???
>>55
契約者が用意されたコンパネなどを使って手動でアカウントを
管理するのはあるけど、巷のフリーメールのように第三者が
勝手に追加削除できるようなものは極少ない。
フリーメールにありがちなSPAMの温床になるから。

契約者が用意されたコンパネを叩く中間的なスクリプトを
書いて第三者に提供すればいいのだけどね。
0058nobodyさん2006/02/06(月) 18:16:36ID:???
別のphpファイルの中の関数を呼ぶ方法を教えてください
0059nobodyさん2006/02/06(月) 18:19:54ID:nFVQbOKx
include
0060nobodyさん2006/02/06(月) 18:20:17ID:???
>>58
その別ファイルとやらを require_once すれば準備は出来てる。
これでワカランならマニュアル見ろ。全然マニュアル見ないで質問してるだろオマエ。
0061nobodyさん2006/02/06(月) 18:25:33ID:???
>>58
include
include_once
require
require_once

違いはマニュアル嫁
0062nobodyさん2006/02/06(月) 18:33:18ID:???
include("aaa.php");
とすると、エラーつうかわー人具がでるんですよね
0063nobodyさん2006/02/06(月) 18:41:18ID:???
ふ〜ん
0064nobodyさん2006/02/06(月) 18:58:20ID:???
>>62
どうせ、そのaaa.phpが間違ってんだろ。

エスパー光臨キボンって言いたいのか?
0065nobodyさん2006/02/06(月) 19:14:16ID:???
いや合ってるわ。
つか、include("aaa.php");は徹ようになったんですが
include("aaa.php?mode=aa");とかするとまた同じエラーがでるんですよねこれ
なんか、そのファイルが無いいたいなエラーなんですけどね
0066nobodyさん2006/02/06(月) 19:17:06ID:yVSQC/2I
<?php
header("Content-Type: text/html; charset=utf-8");
header("Content-Style-Type: text/css; charset=utf-8");
header("Content-Script-Type: text/javascript; charset=utf-8");
?>

[06-Feb-2006 19:07:14] PHP Warning:  Cannot modify header information - headers already sent
            by (output started at /home/user/www/index.php:1) in /home/user/www/http-header.inc on line 4

このようなエラーが出てしまいます。
どうすれば良いでしょうか?
0067nobodyさん2006/02/06(月) 19:24:26ID:BYKAG910
>>>65
例えばccc.phpでaaa.phpを読み込んでるなら、aaa.phpへの引数を
aaa.php?mode=aaとするのではなく、ccc.php?mode=aaとするのはどうだろうか?
0068nobodyさん2006/02/06(月) 19:25:24ID:???
>>66
ソースの<? ?>の外に、無駄にスペースとか改行とか入ってない?
0069nobodyさん2006/02/06(月) 19:27:00ID:???
>>65
includeとかではファイルをそのまま読み込むだけで実行はしないので、?〜のパラメータは無意味な上に
それくっついたファイル名として扱われるので、当然そんなファイルは存在しないことになる。
0070nobodyさん2006/02/06(月) 19:28:44ID:???
だからマニュアル読めって。
全然マニュアル見ないで質問してるだろオマエ
0071nobodyさん2006/02/06(月) 19:32:35ID:???
>>65
おいおい、そんな事やったらエラー出て当たり前だろうが。マニュアル嫁よ('A`)
0072nobodyさん2006/02/06(月) 19:36:36ID:???
>>56
glob("*")
0073nobodyさん2006/02/06(月) 19:40:53ID:???
>>72
何その顔。ふざけてるの?
0074nobodyさん2006/02/06(月) 19:42:51ID:yVSQC/2I
>>68
すみません、間違えました。

<?php
if (isset($_SERVER["HTTP_ACCEPT"])) {
$HA = explode(",", $_SERVER["HTTP_ACCEPT"]);
if (in_array("application/xhtml+xml", $HA)) {
header("Content-Type: application/xhtml+xml; charset=utf-8");
} else {
header("Content-Type: text/html; charset=utf-8");
}
} else {
header("Content-Type: text/html; charset=utf-8");
}
header("Content-Style-Type: text/css; charset=utf-8");
header("Content-Script-Type: text/javascript; charset=utf-8");
?>

これで、5・12・13行で>>66のようなエラーが出ます。
しかも text/htmlが送られてくるし…
0075nobodyさん2006/02/06(月) 19:52:25ID:???
BOMって知ってる?
0076nobodyさん2006/02/06(月) 19:54:47ID:???
>>74
2行目よりさらに前で自動的にtext/htmlが送られてしまってるんだろ
0077nobodyさん2006/02/06(月) 20:04:53ID:???
>>67
プ
0078nobodyさん2006/02/06(月) 20:09:42ID:???
>>75
うちの近くにあるCDとかゲームとか色々売ってるトコロか。
0079nobodyさん2006/02/06(月) 20:41:13ID:???
一回質問したら名前欄に数字入れてくれなきゃ
どれが質問者か分からない俺逆エスパー
0080nobodyさん2006/02/06(月) 21:15:30ID:???
つかエラー(じゃなくてワーニング)が出た要因は
>headers already sent
であると指摘しているのだが
0081nobodyさん2006/02/06(月) 22:27:14ID:???
前すれ>>997

返事遅れてすまないが、アイコンサンクス。
公式デザインよりぜんぜんいいな。早速変えました
0082nobodyさん2006/02/06(月) 23:28:55ID:???
マニュアル嫁しかいわないやつは本スレに引きこもってればいいと思う。
マニュアルもロクに読めないやつらが質問するのがくだ質だろ。
0083nobodyさん2006/02/06(月) 23:50:09ID:???
まぁ、殆どの質問は「マニュアル嫁」で解決するからねぇ。
0084nobodyさん2006/02/07(火) 00:03:59ID:???
>>82
マニュアル嫁って言ってるのを横目に、フォロー入れてやればいいんじゃね?
0085682006/02/07(火) 00:10:07ID:???
>>74
コードが変わってもアドバイスは同じ。
いきなりそのファイルにアクセスして
そのエラー表示なら
余計な空白、改行などが入っているのだろうと思われる。
0086nobodyさん2006/02/07(火) 01:11:11ID:???
関西弁変換プログラムをつくろうと摸索中です。
<?
function kansai($text){
$text=str_replace("ありがとうございました","おおきに",$text);
}
?>

上記の内容のosaka.incというファイルを作成し
外部ファイルからosaka.incをrequire_once print(kansai($text)) とやると 中に入っていたはずの文字列が全て消えてしまいます。
どこがおかしいのでしょうか?使う関数が間違っているのでしょうか?
0087nobodyさん2006/02/07(火) 01:17:12ID:vK7c16Ac
 
0088A子2006/02/07(火) 02:06:08ID:Ru+YG/77
タイトルに甘えて下らない質問させて頂きます。
xamppを導入したら、今まで動いていたソースが動かなくなりました。
具体的な不具合は、掲示板の投稿ボタンを押しても登録されませんし、
表示の更新も行われません。
おそらくクライアントよりサーバーへデータが送信されていないと思われます。

原因と推測される設定ファイルなどをお教えして頂ければ嬉しく思います。

質問に不備がありましたら再度投稿させて頂きます。
よろしくお願いします。
0089A子2006/02/07(火) 02:09:29ID:Ru+YG/77
追記:
データベースへの接続は成功しています。
コンソールよりテーブルに対してはデータを追加できます。
0090nobodyさん2006/02/07(火) 02:18:04ID:???
正常に動作した前の環境と、XAMPPで設定ファイルを見比べろ。
前の環境とやらがレン鯖とかで設定ファイルが見れないなら、phpinfoでも可。

この先はエスパーに任せた
0091超高速エスパー2006/02/07(火) 02:37:52ID:???
>>88
register_globals = On
0092A子2006/02/07(火) 02:40:27ID:Ru+YG/77
>91さん
Onと設定されています。
0093nobodyさん2006/02/07(火) 02:43:27ID:???
>>86
function kansai(&$text)か、return $textじゃないの?
0094nobodyさん2006/02/07(火) 07:49:47ID:???
>>74
エディタの設定を変えろ
0095nobodyさん2006/02/07(火) 13:57:44ID:???
文字列の中に指定文字がいくつあるかを返す関数を教えてください
0096nobodyさん2006/02/07(火) 14:16:54ID:???
substr_count
0097nobodyさん2006/02/07(火) 14:21:44ID:???
>>96
激しく有難う御座います。
まさしくそれを求めていました。
0098nobodyさん2006/02/07(火) 16:22:32ID:???
フォームで入力したデータを配列の代わりにしたいと思っています。

趣味[ ](変数はhobby)というテキストボックスに[野球,漫画,旅行]と入れたとします。
結果表示のプログラムで

$kekka=array($hobby);
print"$kekka[0]";

と記載したら、「野球」が出ると思ったのですが、そのまま「野球,漫画,旅行」とでます。
どうすれば配列として$hobbyのデータを扱う事が出来るのでしょうか?
0099nobodyさん2006/02/07(火) 16:31:59ID:W5Ufji/6
FreeBSD5.3,Apache1.3なのですが、
あるサブドメイン配下の「*.php」はPHP4とみなし、
あるサブドメイン配下の「*.php」はPHP5とみなすようにって、
できますか?

できるとしたら、どうすればよいのでしょうか?
よろしくお願いいたします
0100nobodyさん2006/02/07(火) 16:42:29ID:???
>>99
それぞれのドメインを別のサーバーに割り振るようにDNSを設定しちゃって、
別々のマシンで動かしちゃうとかはダメ?
0101nobodyさん2006/02/07(火) 16:44:04ID:???
>>98
explodeで分解
0102nobodyさん2006/02/07(火) 16:44:29ID:???
>>99
VirtualHostディレクティブ
0103992006/02/07(火) 17:06:24ID:???
>>102
・・・・・・・あ・・・そうか・・・ありがとうございます
0104992006/02/07(火) 17:14:43ID:???
ふときづいたのですが、
php4とphp5がみにいくphp.iniを別個に用意することはできないでしょうか?
0105nobodyさん2006/02/07(火) 17:32:16ID:???
>>104
PHP5ならhttpd.confにPHPIniDirで指定できる。
0106nobodyさん2006/02/07(火) 17:54:04ID:???
>>104
PHPのコンパイル時にかっちり指定してもいいし、
CGI版なら普通な設定ならば、違うものを読みにいくでしょ?
0107nobodyさん2006/02/07(火) 18:34:21ID:???
SQLiteで聞けと言われました
ここでいいのか判らないけど、質問します

現在ロリポップでmovable type(SQLite)を運営していますが
さくらのプレミアムプランへの移行を考えています

この場合、例えば設定を書き換えた上で
ダウンロードしたファイルをそのまま丸ごとアップして
パーミッションさえ設定すればデータは復旧できるのでしょうか?
それとも、インストールから一通りの手順を踏む必要があるのでしょうか
0108nobodyさん2006/02/07(火) 18:44:11ID:z2Ed5501
PHPでPDFを出力したいと思い、
ttp://www.php.net/manual/ja/ref.fdf.php
を読み、Adobeのサイトで FDF Toolkit というのを
ダウンロードしようとしましたが、住所氏名電話番号使用目的など
たくさん書いて、Adobeの人に承認されないとダウンロードできません。
ttp://partners.adobe.com/public/developer/acrobat/fdf/topic.html

なので誰かください。
# FDF Toolkit for Windows (ZIP: 2.2MB) [FDF Toolkit access approval required]

FPDFはあまりに煩雑すぎてイヤです。
0109nobodyさん2006/02/07(火) 18:51:04ID:???
>>107 >>108
PHP 関係無い。>>107 は DB 板へ >>108 は ダウソ板へ
0110nobodyさん2006/02/07(火) 18:52:34ID:???
ぐぐっても出てこないのですが、mail関数で送信する
簡単なメール送信フォームを作成したのですが、メール送信後に

511 Headers specify no receipients.
というエラーメッセージが出ます。

mb_language("ja");
mb_internal_encoding("sjis");
も指定してます。どうしたら出ないように出来るのでしょうか?
0111nobodyさん2006/02/07(火) 19:11:13ID:???
>>109
108がダウソ板ってのはちょっと違う希ガス
0112nobodyさん2006/02/07(火) 19:15:33ID:???
>>107
DB板つうよりも、ブログ板のMTスレだな。
0113nobodyさん2006/02/07(火) 20:49:13ID:???
>>110
そのメール内容は送信相手にちゃんと届いてますか?
そのエラー訳したら

「ヘッダーは受取人を全く指定しません」

ってなったけど。あとreceipientsではなくrecipientsだと思う
0114nobodyさん2006/02/07(火) 21:25:39ID:QxUNaPeI
preg_replaceで
test/&test2/&test3/&
という文字列から&の直前のスラッシュのみをすべて取り除きたいのですが
正規表現に詳しい方がいたらやり方を教えてください。
0115nobodyさん2006/02/07(火) 21:25:43ID:xKyeolaW
既出かもしれませんが、お分かりの方がいたら教えて下さい。

methodがPOSTになっているフォームの内容をPHPで送信したいんですが、どうやれば良いんでしょうか?
例えば、ユーザIDとパスワードを求めて来るページに、PHPで自動的にログインしたいんです。
そのあと、戻って来たページ(html)を読み込みたいんです。

fopen()でURLを指定する事も出来ませんよね。

よろしくお願いします。
0116nobodyさん2006/02/07(火) 21:34:21ID:???
>>114
&の直前のスラッシュって条件なら、
正規表現使わなくても

$text = test/&test2/&test3/&;
$text = str_replace("/&", "/", $text);

でできないかな。
的外れならスマン
■ このスレッドは過去ログ倉庫に格納されています