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

【PHP】質問スレッドpart33【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/02/16(木) 03:19:52ID:xwXojaq/
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0116nobodyさん2006/02/21(火) 10:28:55ID:???
>>109
現在表示されてるHTMLを定期的にリフレッシュさせればいいんじゃない?

>>115
試してみて結果を教えてくれ。
0117nobodyさん2006/02/21(火) 11:15:21ID:???
>>109
くだ質行きっぽい内容だ。
0118nobodyさん2006/02/21(火) 11:45:50ID:???
昔から思ってるけど、あんまくだ質とこのスレの違いって無いよな。
どっちも同じぐらいのレベルの話するし。
0119nobodyさん2006/02/21(火) 13:14:03ID:???
>>109
PHPに限定しない(というより関係ない)質問だし
0120nobodyさん2006/02/21(火) 13:35:59ID:???
>>118
くだ質があればこのスレ要らないよな
0121nobodyさん2006/02/21(火) 13:39:56ID:???
うん、たいていの質問はくだらん
0122nobodyさん2006/02/21(火) 14:30:37ID:???
>>113
それは
「俺はやり方わかったけどお前らには教えてやんねーぜ、バーカ」
と近い発言になってるという事に気付いてください。

解決しても、解決策を出すのが質問スレでのマナーでしょう。
知りたい人は沢山いるわけだから。
0123nobodyさん2006/02/21(火) 17:35:39ID:???
>>122
本当に解決したか、それ以前に本人の書き込みかすら怪しいんだから相手にしても意味がない
0124nobodyさん2006/02/21(火) 18:02:42ID:ihX6B4Hf
htmlファイルに

<?php
print"test";
?>

ってやったら出力されます?
0125nobodyさん2006/02/21(火) 18:05:26ID:???
>>124
サーバの設定による。
0126nobodyさん2006/02/21(火) 19:19:01ID:???
>>124
printと"の間にはスペース入れたほうが良いと思う。
0127nobodyさん2006/02/21(火) 20:25:51ID:???
そういや引数の最初のキーに%5Bが入ると%5Eか何かに変わるバグは
PHPのフォーラムかどこかに投稿されてるのかな?
0128nobodyさん2006/02/21(火) 21:21:49ID:y3MPaFDb
>>124
もちろん出力される。
0129nobodyさん2006/02/21(火) 21:28:19ID:???
もちろんとか来たよ
0130nobodyさん2006/02/21(火) 21:45:25ID:???
何かしらは出力されるだろ
ブラウザ上で見える内容かどうかはともかく
0131nobodyさん2006/02/21(火) 21:44:20ID:???
array_combine とかの逆ってあるの?
0132nobodyさん2006/02/21(火) 21:50:37ID:???
>>131
array_keysとarray_values
0133nobodyさん2006/02/21(火) 23:20:12ID:???
>>132
サンクスコ
0134nobodyさん2006/02/21(火) 23:40:53ID:???
「出力されます?」って質問なんだから>>128も間違ってない
"ブラウザへは"出力されるんだから。
大抵のブラウザは無効なタグとして処理し、ブラウザ上には表示しないと思うが。
「phpとして処理されますか?」なら>>125だけどな。

早い話が質問内容が悪(アバウト)すぎる
0135nobodyさん2006/02/22(水) 00:44:55ID:???
まぁ正論だけど、php質問スレッドだからなぁ・・
0136nobodyさん2006/02/22(水) 02:28:56ID:???
「htmlファイルに」って言ってるし
0137nobodyさん2006/02/22(水) 02:37:21ID:???
ttp://oresama.hopto.org/~sheel/directory/

このサーバをphpを使ってクラックすることは可能ですか?
phpでダメなら他の方法でも構いません。
0138nobodyさん2006/02/22(水) 03:44:19ID:???
>>137
> phpでダメなら他の方法
スレ違い乙
0139nobodyさん2006/02/22(水) 07:39:06ID:???
>>137
可能だから、取り合えずそのサーバのアカウントを教えてくれ。
そのくらいはハック済みなんだろ?
0140nobodyさん2006/02/22(水) 08:40:56ID:???
PHPのWebシステムでモジュールを入れることで機能を追加させるように
したいのですがこの場合どういう風に構築すればよいのでしょうか?
0141nobodyさん2006/02/22(水) 09:16:43ID:???
>>139
アカウントをクラックするのもクラッキングの内だろ。自分でやれ。
0142nobodyさん2006/02/22(水) 11:12:30ID:???
最近、メ欄に無駄な空白入れてくる奴いるね。
ウザッ
0143nobodyさん2006/02/22(水) 11:29:59ID:???
外部のファイル

http://www.sample.com/test.jpg

のファイルサイズを取得する方法を教えてください。
0144nobodyさん2006/02/22(水) 11:45:19ID:???
>>143
ファイルを取得してstat
0145nobodyさん2006/02/22(水) 11:47:32ID:YzTdS2nd
windows server 2003でIIS6.0を使用してます。
PHP4.4.2をインストールし、nucleusでblogを作成したところ、
「エラー発生アプリケーション w3wp.exe、バージョン 6.0.3790.1830、エラー発生モジュール php4isapi.dll、バージョン 0.0.0.0、エラー発生アドレス 0x00002443」
とアプリケーションログに記録され、表示できなくなりました。
どうやら、PHP4.4.2のバクのようで、STABLE版の使用で解決するらしいのですが、STABLE版はIISで使用できるのでしょうか?
また、設定方法等、解説しているサイトをご存知でしたら、ご教授願えませんでしょうか?
よろしくお願いします。
0146nobodyさん2006/02/22(水) 11:52:20ID:???
file_get_contents() & getimagesize()
0147nobodyさん2006/02/22(水) 12:00:00ID:???
>>144 >>146
ありがとうございます。
説明不足でした。

外部のファイル

http://www.sample.com/test.html
http://www.sample.com/test.jpg
http://www.sample.com/test.mpg

の容量(バイト)を取得する方法を教えてください。
0148nobodyさん2006/02/22(水) 12:04:19ID:???
filesize
0149nobodyさん2006/02/22(水) 12:04:49ID:???
>>147
だから>>144&>>146じゃん
0150nobodyさん2006/02/22(水) 12:19:22ID:???
>のファイルサイズを取得する方法を教えてください。
自分で答え言ってるな。

>148が答え。
満足したら帰れ。
0151nobodyさん2006/02/22(水) 12:25:27ID:???
予知能力発動
この後、>>147は
「では、外部のファイルを取得する方法を教えてください」
と書き込もうとするであろう。


ところが、この予言の書を目にして、書込みを躊躇う。
0152nobodyさん2006/02/22(水) 12:30:48ID:???
>>151
しかし斜め上を行く147の次の書き込みは、こうであった。
「では、僕は何をどうしたらよいのでしょうか」

# HTTPヘッダもあてにならんしな<ファイルサイズ
0153nobodyさん2006/02/22(水) 12:44:11ID:???
>>152
そこへ一言「マニュアル嫁」
で、終了
0154nobodyさん2006/02/22(水) 12:46:26ID:???
ま、マニュアルにそのものずばりの情報があるわけだが(使えるかどうかは知らん)
つ[http_filesize]
0155nobodyさん2006/02/22(水) 13:16:54ID:???
>>154
HEADでContent-Length拾ってるだけのようだ
0156nobodyさん2006/02/22(水) 13:54:37ID:???
あるdirectoryに存在するファイルをリンクつきで一覧表示させたいのですが、
とりあえずopendir関数使ってここまではできました。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

ソースは↓です。
<?php
//open directory
$dir=@opendir("phpdirectory") or die("failed to open the directory");
while($file = readdir($dir)) {
if (!is_dir($file)){
echo $file ."<BR>";
}
}
closedir($dir);
?>

あとはこれにリンクをつけたいのですが、
<LI><A HREF="file1">file1</A>
のようにタグをつけるにはどうしたらいいのでしょうか?
0157nobodyさん2006/02/22(水) 14:01:11ID:???
え?釣り?
0158nobodyさん2006/02/22(水) 14:14:37ID:???
釣りだな
01591562006/02/22(水) 14:43:38ID:???
え? 釣りじゃありませんよ・・・orz

当方、phpを始めたのは今日が初めてで、
自宅サーバでやっとこさphpが使えるようになったのが今日なのです。
全くのphp初心者なので、超基本的なことだったらすみませんが、
教えていただくと助かります・・・orz
01601562006/02/22(水) 14:45:22ID:???
ちなみに>>156のソースはここです。
http://masago.kir.jp/php20041028.php
これをほとんどそのまま映しただけで、
こんなのを一から作り上げるスキルなどまだまだありません・・。
0161nobodyさん2006/02/22(水) 14:47:48ID:???
>>156
echo $file ."<BR>";
を
echo '<LI><A HREF="' . $file . '">' . $file . "</A>\n";
0162nobodyさん2006/02/22(水) 14:49:45ID:???
>>159
PHPを始めたのが今日なのか、
プログラミングの世界に触れたのが今日なのか?

どっちでもいいけど、
まずは、>>1にあるマニュアルで、一つずつ命令文を調べてご覧。
せっかく始めたんなら、聞く前にまずは自分で考えてみなよ。
0163nobodyさん2006/02/22(水) 14:49:57ID:???
> phpを始めたのは今日が初めて
初めての日に(しかも数時間で)こんな所に来たらイカンよ。
まずは本を買うかやさしい猿でもわかる参考サイトを探して
自分でやりなさいな。
0164nobodyさん2006/02/22(水) 14:51:05ID:???
>>161
信でイイよ
01651612006/02/22(水) 14:51:35ID:???
まちがえた
echo '<LI><A HREF="./phpdirectory/' . $file . '">' . $file . "</A>\n";
01661562006/02/22(水) 14:59:15ID:???
>>161
あ、ありがとうございます!!
さっそくやってみます。

>>162
初めてやったのがプログラミングというかスクリプティングで
shellscript(bash)です。bashに関してはまぁ初心者は脱したくらいの
レベルになりました。(bash歴一年くらい)
したがってphpもifとかforとか結構似たようなのが出てくるので
そこまで苦痛ではありませんが、ちょっとbashと較べると
わかりづらい感じはしています。
最初はSSIで無理やりディレクトリを表示させることをやってみました。
こんな感じでできるようになったのですが、↓
ttp://oresama.hopto.org/~sheel/directory/
「phpの方が簡単」
というアドバイスをいただきましたのでphpに挑戦しているところです。

>>163
そうですね。いろいろと猿でもわかるサイトを物色している最中です。
金はないので本は買えません・・・orz
01671562006/02/22(水) 15:00:16ID:???
>>165
ありがとうございます。やってみます。
01681562006/02/22(水) 15:14:57ID:???
>>165
ありがとうございますた!できますた!
本来、directory.phpと同じディレクトリに存在する
ファイルかフォルダを一覧表示させたかったのですが、
「自分と同じディレクトリ」を差すメタキャラがphpでは
わからなかったので、しょうがなくそれは後回しにして
わざわざ下位のディレクトリ「phpdirectory」をつくって
試していたのでした。
試しにbashでいうところの「.」を試してみると、なんと
phpでも「.」は「現在のディレクトリ」を差すようですね。
ついでに本当はファイルだけでなく、ディレクトリも表示されるように
if文を削除してみたら案の定正解でした。
ttp://oresama.hopto.org/~sheel/phptest/directory.php

しかし今度は新たな問題が出てきました。
bashを使った方法ではlsコマンドで「.htaccess」ファイルを
非表示にする方法があったのですが、phpではありますか?
01691562006/02/22(水) 15:18:03ID:???
今回学んだ最大の点といえば、
phpは<とか>とかをバックスラッシュで
エスケープする必要がないみたいなので
こういう点がweb programmingに向いてるんでしょうね。
もっと勉強してみなさんに教えられるくらいにはやくなりたいと思います。
0170nobodyさん2006/02/22(水) 15:29:47ID:???
>>168.169
ん〜〜〜〜なにか微妙に的外れな事で妙に感動しているようだが・・・
まぁ、頑張ってくさい。
0171nobodyさん2006/02/22(水) 15:35:59ID:???
覚えは悪くないみたいなのでPHPの基礎をきちんとやったほうが自分のため。
自分で本を探して数千円を投資するかしないかでかなり習得のスピードが違うと思う。

まあサイトでもいいだろうけど
0172nobodyさん2006/02/22(水) 15:37:47ID:???
>>168
http://jp.php.net/manual/ja/

それとphp.iniぐらい置いとけ
/etcにphp.iniが無いとphpinfo()が言っておるぞ
0173nobodyさん2006/02/22(水) 15:40:11ID:???
>>168
>bashを使った方法ではlsコマンドで「.htaccess」ファイルを
>非表示にする方法があったのですが、phpではありますか?
って、"."で始まるファイル名は表示しないって事じゃなくて?

ならファイル名の一文字目に"."のあるファイルは表示しないって処理を加えればいい

どっちにしろ一から勉強しないと自作は出来なさそう
phpの文法が分からないのに人のソース見ても上達するのかな・・
01741562006/02/22(水) 15:50:00ID:???
>>172
ああ、さっき一度php.iniは置いたのですが、
それはsafe_modeをOFFにしたかったからなんですけど、
どうもこのサーバは元もとOFFだったようで
だったら必要ないのかな、と思って削除しちゃいましたよ。
また置いときましょうかね。
デフォルトのままでいいのでしょうかね。
ま、またあとで編集すればいいのですし、とりあえず置くだけ置いときますよ。
それにしてもphpっていちいちディレクトリごとにphp.iniを置く必要があるんでしょうかね。
いやそんな記述がphp.iniにさっきみたとき書いてあったんで。

>>171
実を言うと本は読めないのですよ・・・orz
数学とか英語は偏差値90越えは普通でしたが、
国語だけは偏差値30くらいでした。池沼クラスです・・。

>>173
そうそう、「.」で始まるファイルを非表示にしたいのですが、
これは確かにbashで培ったスキルをもってすれば意外と簡単カモデスネ。
^.とかかな、とにかくphpの正規表現調べてやってみますね。

>>170
ありがとう。がんがります!
0175nobodyさん2006/02/22(水) 16:17:54ID:???
>>174
んまぁ、bashとか全然毛色の違う物の経験則に引きずられるのなら、
いっそ、passthru()とかでls叩いて、戻り値を整形したら?

本が読めない人間に、言語の習得は非常に困難だと思ふ
ってか、文学本か何かと間違っていないか?
01761562006/02/22(水) 16:24:13ID:???
正規表現はここを参考にして
ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k09.htm
↓こんな感じにしてみましたが、ifのところがやっぱりおかしいんですかね・・。
うまくいきません。
ちなみにphpってエラーが起こると「何行目がおかしい」ってちゃんと表示するので便利ですね!

$dir=@opendir(".") or die("failed to open the directory");
while($file = readdir($dir)) {
if (($file)!="^¥..*"){
echo '<LI><A HREF="' . $file . '">' . $file . "</A>¥n";
}
}
closedir($dir);

>>175
lsを使ってdirectory表示させる方法はSSIですでに実現できています。
phpを学ぶひとつの例としてdirectory表示に挑戦しているのです。
ちなみに、言語を学ぶのには、英語と同じで、まずは実際の例文にいっぱい触れるのが
一番だと思いますよ。
文法から入っちゃうとかえって学ぶ速度が遅くなります。経験的に。
例文を読んでみて、「これってどういう意味なのかな?」って逆引的に
正書などで学ぶのが王道です。
0177nobodyさん2006/02/22(水) 16:24:56ID:???
>>174
2ch暦何年?
いい加減ウザいよ。

空気読めてない事ぐらいは察しろよ。
それができないなら質問スレでなりふり構わずレスするな。
01781562006/02/22(水) 16:25:04ID:???
今から夜勤なのでそろそろ行きますね。
みなさんのおかげでphpのなんたるかの触りくらいはわかるようになってきました。
またご指導よろしくお願いします。
01791562006/02/22(水) 16:26:52ID:???
>>177
2ch歴は3年くらいでしょうか。
空気を読むのはおまえよりは100倍くらい上だと思いますよ。
空気を読めてないのは自分だけってのがわからないみたいだね。
2chはまだまだ177のような初心者をいちころでだませるので楽しいですね。

じゃ、こんどこそ夜勤に言ってきます。
177はくやしかったら捨てぜりふのひとことでも吐いててねw(ぷげら
0180nobodyさん2006/02/22(水) 16:33:53ID:???
「>>179」の意地の悪さが垣間見れるレスですね
0181nobodyさん2006/02/22(水) 16:37:02ID:???
>>176
君はPHPよりPerlの方が向いてるかもしれない。
あれはsh他のコマンドラインスクリプトの発展したものだから文化が近いと思うよ。
PHPは見た目が少しPerlに似てる程度で考え方の基本はC言語に近い。
0182nobodyさん2006/02/22(水) 16:40:43ID:stieJNuS
最近PHP使わされてるんですが、PHPって、
たとえば関数がオブジェクトをかえすときに、

function foo() {
return new Bar();
}

foo()->baz();
みたいな関数呼び出しはできないんでしょうか?
なんか文法エラーって怒られるんですが…
PHP4です
0183nobodyさん2006/02/22(水) 16:41:47ID:???
>>179
一気に萎える('A`)

> 数学とか英語は偏差値90越えは普通でした
そいつは尋常じゃない数値だね。
英文で書かれた参考書の方が君にはあってるっぽいよ。

それと
if (($file)!="^?..*"){
の"^?..*"はマッチパターンであってereg関数なり使わないと。

ピリオドが2つ続いているのは良く分からないけどね。
0184nobodyさん2006/02/22(水) 16:43:18ID:???
偏差値90ってそうとう母集団が偏ってた予感。
全国テストとかなら満点とっても取れないよなぁ。
0185nobodyさん2006/02/22(水) 16:44:48ID:???
>>183
Perlなら if($file =~ /^\..*/) でいけるな。
あと、^\..* の正規表現の意味が分からないって、お前の方がやばくないか?
まぁ、後半の .* は別に要らないと思うけどさ。
0186nobodyさん2006/02/22(水) 16:52:38ID:???
もうなにやら、突っ込みどころ満載な人間が降臨して
嵐のように書き込んで、風のように去っていったって感じですね…

>>176
>言語を学ぶのには、英語と同じで、まずは実際の例文にいっぱい触れるのが一番

間違ってはいないと思うけど、君、例文とか無視だろ。
例文どおりにやって、どうやったらそんな正規表現マッチが書けるんだか???

ネット上の例文の多くは文責の無い物が混じった玉石混交
その中から正確な情報を適切に拾い出すにも基礎知識が必要になるでしょ。
その基礎知識を身につけるのに書籍とかマニュアルがイイよ、と言われても、
本が読めないとか、言って聴く耳持たず。
終いには、悪態ついて去っていくマナーの悪さ。
>>177もバカだけど、3年も2ch見ていて、煽りにいちいち反応するなよ。
0187nobodyさん2006/02/22(水) 16:55:06ID:???
>>182
ムリ
01881822006/02/22(水) 16:56:43ID:???
>>187
…なぜ?
意味解らん。

普通にプログラミング言語を設計(というかBNF)すれば、
半自動的に出来るようになりそうなもんですが…
0189nobodyさん2006/02/22(水) 16:58:33ID:???
>>188
PHP4のオブジェクト指向は後付の設計でオブジェクト指向向きの構造になってないから
0190nobodyさん2006/02/22(水) 16:58:52ID:???
>>185
いやいや、正規表現の意味が分からないんじゃなくて
このケースでは不要じゃないかな?と思って書いただけだよ。
0191nobodyさん2006/02/22(水) 17:01:08ID:???
>>190
実際には意味がなくても冗長な正規表現を書いちゃうことくらいよくあることだ
01921822006/02/22(水) 17:02:47ID:???
orz
ボスにかけあってPHPから脱出します

ちなみに5では可能でしょうか?
0193nobodyさん2006/02/22(水) 17:03:41ID:???
とりあえず、丸っきりの素人で書籍も読む気がない、というのであれば
くだらない質問スレ行き確定ってことでいーんじゃないか。
0194nobodyさん2006/02/22(水) 17:14:48ID:???
>>176の後半を読んで、ゆとり教育の弊害を痛感した。
0195nobodyさん2006/02/22(水) 17:17:27ID:???
>>191
そうだな。余計だったよ。

>>194
なるほど
0196nobodyさん2006/02/22(水) 17:18:44ID:???
例文から入ってわからんところは全部人に聞く。
確かにはためーわくだが効率はいいかもしれんなwwww
0197nobodyさん2006/02/22(水) 17:32:59ID:???
>>176
・・・・王道

裸の王様にならないようにね。
0198nobodyさん2006/02/22(水) 17:38:12ID:???
/~sheel/モノは放置の方向でお願いします。
0199nobodyさん2006/02/22(水) 17:45:28ID:???
サブドメが俺様
0200nobodyさん2006/02/22(水) 17:53:06ID:???
>>156は夜勤明けには
http://pc8.2ch.net/test/read.cgi/php/1139746974/
へ行ってくれ。
0201nobodyさん2006/02/22(水) 18:36:19ID:???
>>197
裸の王道か
上手い事言うなお前。
0202nobodyさん2006/02/22(水) 19:27:31ID:???
>>192
ここが参考になると思います。
ttp://www.doyouphp.jp/php5/php5_object.shtml
0203nobodyさん2006/02/22(水) 19:30:48ID:???
>>179
周囲の人間をもう一度よく見渡してみましょう。
空気読むのってなかなか難しいことですよ
ただし、>>177も空気読んでないように思えますが。
0204nobodyさん2006/02/22(水) 20:21:51ID:???
空気読んで俺も>>177が空気読めてないと思う。
0205nobodyさん2006/02/22(水) 20:24:32ID:???
空気読むのは日本人の悪い特徴ニダ
0206nobodyさん2006/02/22(水) 20:34:50ID:???
空気嫁=ダッチワイフ
0207nobodyさん2006/02/22(水) 23:05:14ID:???
空気婿は無いのかな?
0208nobodyさん2006/02/22(水) 23:19:25ID:???
挿れるとバリの部分が相当痛いぞ。
中を傷つける恐れあり。
02091562006/02/22(水) 23:38:40ID:???
いま、>>196が(・∀・)イイ!!こと言った!
0210nobodyさん2006/02/23(木) 00:00:56ID:???
韓国人みたいな人が帰ってきたな。
0211nobodyさん2006/02/23(木) 00:11:24ID:???
もう春厨がわいたのか?
0212nobodyさん2006/02/23(木) 00:13:18ID:???
>>209
空気嫁
0213nobodyさん2006/02/23(木) 01:11:56ID:???
ADOdbを利用しています。

$DB->getRow($sql); の結果のインデックスが数値のものと文字列のものが二重で
出てくるのですが、文字列インデックスのものだけにする方法はありますか?
0214nobodyさん2006/02/23(木) 01:55:13ID:???
>>213
文字列にキャストする。
$result = (string)$src;
もしくは関数を利用する。
strval ($src);

これ使えるか知らんけど、
settype ($src, typename);
typenameは文字列で"string"にすると文字列を返す。

一応マニュアル見てくれ。
0215nobodyさん2006/02/23(木) 02:55:24ID:???
>>213
事前に
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
でモードを設定

>>214
何の話だそりゃ
■ このスレッドは過去ログ倉庫に格納されています