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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/12/19(水) 03:33:51ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0773nobodyさん2008/01/05(土) 19:22:00ID:Dao7FJFa
>>772
ありがとう、うまくいったよ。ほんとうにありがとう
0774nobodyさん2008/01/05(土) 20:40:09ID:???
>>771
readfile($file_path);
0775nobodyさん2008/01/05(土) 23:27:19ID:BCQmUqUR
すいません質問なんですが、URLからそのウェブページのタイトルを
取得することできますか? RSSのないページです。

ヒントがあれば教えてください、検索してみます。
いまんとこ見つけれてません。

0776nobodyさん2008/01/05(土) 23:31:51ID:???
ページを取得する。
取得した内容を調べる。
さぁ、分かんないのはどぉーこだ?
0777nobodyさん2008/01/05(土) 23:59:39ID:???
>>775
get_title_from_url($url);
0778nobodyさん2008/01/06(日) 00:56:47ID:???
ぐぐってしまったじゃないか・・・
0779nobodyさん2008/01/06(日) 02:00:46ID:???
function get_title_from_url($url) {
$contents = file_get_contents($url);
$retAry = array();
preg_match('!<title[^>]*>(.*)</[^>]*>!',$contents,$retAry);
return $retAry[1];
}
0780nobodyさん2008/01/06(日) 02:12:36ID:Njbvq9C9
私が使用しているレンタルサーバで、phpを動かした場合、
以下のコードではipアドレスが取得出来ませんでした。
$ip = $_SERVER['REMOTE_ADDR'];
そこで、以下のように書いてみると取得できました。
$ip = getenv("REMOTE_ADDR");

FORMタグにてPOSTされたものも、以下のコードでは
取得できなかったのですが、
上記getenvにあたる関数はないのでしょうか。
$pos = $_POST['test'];

よろしくお願いします。
0781nobodyさん2008/01/06(日) 02:28:45ID:???
>>780
まさかとは思うがphpのバージョンって4.1より古い?
$_HTTP_POST_VARSとか$_HTTP_GET_VARSん使ってみるといいかも
0782nobodyさん2008/01/06(日) 02:52:45ID:???
phpinfo()
07837802008/01/06(日) 02:54:37ID:Njbvq9C9
すばやいレスありがとうございます。
教えていただいたコードを使ってみたり、
phpのバージョンをしらべてみたりしてみます。
0784nobodyさん2008/01/06(日) 04:36:15ID:5j6bL89B
if(hoge() && huga()){
echo "両方成功";
}
だとhoge()に成功しないとhuga()を実行してくれませんよね。
hoge()に関係なくhuga()も実行したい場合に以下のコードを書いてみたんですが、あまりスマートじゃない気がします。
何かもっといい方法がありましたら教えてください。

$bool1 = hoge();
$bool2 = huga();
if ($boo1 && $bool2) {
//何かの処理
}
0785nobodyさん2008/01/06(日) 04:43:56ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0786nobodyさん2008/01/06(日) 05:45:53ID:???
>>784
if ((hoge() && huga()))


かも
0787nobodyさん2008/01/06(日) 06:19:05ID:???
>>784
回答しない癖になんだけど、そうしなきゃいけない実装自体に問題あるよなあ
0788nobodyさん2008/01/06(日) 06:39:21ID:++XQtjId
アップしてあるファイルを、ディレクトリごとZipで一括でダウンロードする仕組みをつくっています
zip.lib.phpやZipArchive()を試しに使用しており、出来る限り一時ファイルを作成したくないため
直接クライアントに送信するよう書いてみましたが、ファイルによってはメモリがきついです
何か上手な方法はありますか?
0789nobodyさん2008/01/06(日) 06:46:09ID:???
メモリを増やす
0790nobodyさん2008/01/06(日) 06:56:26ID:++XQtjId
ありがとうございました
0791nobodyさん2008/01/06(日) 10:42:16ID:???
>>784
やったこと無いけど、 if(hoge() & huga()) みたくビット演算にすれば出来るかも。
まぁ、他の人がコード読んだらバグにしか見えないから止めたほうがいいとは思うけど。
0792nobodyさん2008/01/06(日) 11:22:00ID:???
>>788
メモリ的に無理だと、対処しようが無いでしょ。
例えば、検索結果で100万件が1ページで表示されるようにしないのは、
メモリが関係しているから。
なので、ページを分割するか、途中で処理を無理やり止めてしまうか
しか方法はない。
0793nobodyさん2008/01/06(日) 11:39:16ID:???
レベルひっく

下を見ればキリがないっていうけど、ここの回答者はひどいなw

0794nobodyさん2008/01/06(日) 11:47:02ID:???
よし、じゃ君が「レベルの高い回答」とやらを書いてくれ
0795nobodyさん2008/01/06(日) 11:47:08ID:???
具体的に言わないとね
0796nobodyさん2008/01/06(日) 11:54:25ID:???
>>794
いや、ここは週に1回、優越感をひたるために来てるからw

ってか、おまいら学歴低そうだな。IQ100はあるか?
PHPなんて下等ランゲなんかやってると、そのうちホームレスになるぞw
0797nobodyさん2008/01/06(日) 11:56:18ID:???
じゃ何やればいいの
0798nobodyさん2008/01/06(日) 13:51:41ID:???
学歴とIQの関係を詳しく
0799nobodyさん2008/01/06(日) 14:06:59ID:???
ランゲだとよw
0800nobodyさん2008/01/06(日) 14:08:00ID:???
IQは簡単にいうと (精神年齢)/(実際年齢) * 100 だから、
あんまり上げすぎると、体は大人!頭脳はじっちゃん! になっちまうから注意。な。

PHPの質問マダー?
0801nobodyさん2008/01/06(日) 14:56:41ID:???
スレ違いな事書いているという認識を持てや。低能共
0802nobodyさん2008/01/06(日) 14:58:09ID:???
>>801
ごめんなさい。もう書かないので許して頂けませんか。。
ちなみに>>801さんのIQはいくつでしょうか・・?
やはり801でしょうか。。
0803nobodyさん2008/01/06(日) 15:05:59ID:???

ここにいる人は人間的にもレベルがひくいっすねw


0804nobodyさん2008/01/06(日) 15:19:16ID:???
ヤレヤレだぜ
0805nobodyさん2008/01/06(日) 15:25:17ID:???
>>803さんはどうですか?IQいくつですか?
0806nobodyさん2008/01/06(日) 15:27:11ID:???
>>805

小学校低学年の時、132で学年トップでした。

0807nobodyさん2008/01/06(日) 15:50:31ID:???
さっきから痛々しい会話してる奴らは全員IQ30位だなw
0808nobodyさん2008/01/06(日) 15:55:37ID:???
うpろだによっては平気で何百Mも処理しているし
$_FILESの内容、処理だけでも大変そう
実メモリ、memory_limitの値を見てみたい
0809nobodyさん2008/01/06(日) 16:09:02ID:???
PHPってアップロードファイルは一時ファイルに展開するんでしょ。
少ないメモリで動かすのは不安があるけど、実メモリそんなに使うかな。
0810nobodyさん2008/01/06(日) 16:10:38ID:???
まさか全部メモリに読み込んでからファイルに書き出すとでも思ってるのかね。
まさか・・ね。
0811nobodyさん2008/01/06(日) 16:19:39ID:???
コード埋め込まれているかファイルの内容までは
流石にチェックしてないのかな
自分のところengine offとかにしても、経由して他のところ
いたずらされるかもしれんけど
08128092008/01/06(日) 16:24:04ID:j3gkesVW
>>810
昔読んだ Java Servletで作ってあったやつはそういう作りだったから、ありえない話でもない。

最近のは知らないけど、ServletAPIだとリクエストはメモリに展開されて受け渡されたから、
servlet側ではどうしようもなかったはず。
0813nobodyさん2008/01/06(日) 16:24:29ID:???
あ、意味も無くあげちゃった。
0814nobodyさん2008/01/06(日) 16:28:07ID:???
データベースから取得したデータが10:20:30で$jikanに格納されていて
これを10時20分30秒と時・分・秒と分けて表示する方法ありますか?
0815nobodyさん2008/01/06(日) 16:34:25ID:???
>>1
0816nobodyさん2008/01/06(日) 16:54:42ID:???
回答者レベルひっくw

0817nobodyさん2008/01/06(日) 16:58:30ID:???
マニュアル見ればすぐにわかることだから、答える気もしないだろ。
0818nobodyさん2008/01/06(日) 17:50:49ID:???
とあるスレで、SQLの質問したら、使えない回答しか返ってこなかったので、
こちらでお伺いします。

SELECT id FROM test WHERE id=1 or id=2 or id=3

として、IDが1か2か3のデータを出したいと思います。
上記のSQLなら3つのレコードがヒットします。

idを検索する数だけid=を付けるのは変だと思うのですが、
どういう書き方をしたらいいのでしょうか?
0819nobodyさん2008/01/06(日) 17:53:20ID:???
orでも変じゃないと思うけど、in句でも使えば。
オプティマイザ的に差があるかどうかは知らん。
0820nobodyさん2008/01/06(日) 18:12:36ID:???
くだらねぇの構わんが、無関係なのは困る
0821nobodyさん2008/01/06(日) 18:15:15ID:???
idate('h' ,$jikan);
これはダメなのか?
0822nobodyさん2008/01/06(日) 18:22:46ID:???
>>821
PHPは色んな関数があるな、ほんと。

でも idate の第2引数は int型(timestamp) みたい。
http://php.benscom.com/manual/ja/function.idate.php

文字列になってるなら explodeで良いんじゃないの。
0823nobodyさん2008/01/06(日) 19:19:38ID:???
>>818
SQLは長くしすぎると文法では問題なくてもエラーが出て動かなくなったりするよ。
長くならなければ、プログラムで文字列を自動的につなげてやるのもいいと思うけど、
BETWEEN を使った方がいいと思う。
構文の書き方においてはここでは聞かないでね。
0824nobodyさん2008/01/06(日) 19:32:17ID:???
>>823
BETWEENは遅いと思うんですが。
0825nobodyさん2008/01/06(日) 19:34:04ID:???
一般的なプロバイダ契約 (IP固定契約を行っていない場合) では上記のグローバルIPアドレスは変動的な数値になります。
PCの電源を切った時やインターネットとの通信を切断した場合などはグローバルIPアドレスが変更になります。
また常時通信状態にしておいてもプロバイダ側の都合で不定期に変更になる場合があります。
0826nobodyさん2008/01/06(日) 19:38:57ID:???
>>824
だからなんだよ。

>>825
意味が分からん。
0827nobodyさん2008/01/06(日) 19:50:18ID:???
betweenが遅いというのは気になるが、続きはDB板でやってくれ。
http://pc11.2ch.net/db/
0828nobodyさん2008/01/06(日) 20:59:58ID:???
>>826
人に教えを請う態度じゃないな。
冬休みも今日で終わりかぁ。
0829nobodyさん2008/01/06(日) 23:03:03ID:???
phpでfinallyがないのは何故ですか?
0830nobodyさん2008/01/06(日) 23:10:12ID:???
>>829
phpは未完の大器であり(あってほしい)、終わりはないという意味を込めて、
finallyを実装していない。これはマジな話。
0831nobodyさん2008/01/06(日) 23:25:57ID:???
cloneの使い方がよくわかりません><
0832nobodyさん2008/01/06(日) 23:53:40ID:???
>>831
crontabでググレ
0833nobodyさん2008/01/07(月) 00:01:12ID:???
(´Д`;)
0834nobodyさん2008/01/07(月) 00:19:41ID:???
意味不明なレスがw
php4までは
$obj = new hoge();
$hoge = $obj;
で$hogeにコピーできてたんだけど
php5からはコピーできなくなっちゃったので
$hoge =  clone $obj;
でコピーするようになった
0835nobodyさん2008/01/07(月) 00:31:43ID:???
ほぇ〜
ありがd
0836nobodyさん2008/01/07(月) 00:44:50ID:???
俺もcronの話かと思った。
0837nobodyさん2008/01/07(月) 00:49:41ID:???
そういえば綴り違うんだな、今まで意識してなかった。
ぐぐったらcronの名前の由来はクロノスからきてるらしい。なんかすげー。
0838nobodyさん2008/01/07(月) 00:58:35ID:???
>ぐぐったらcronの名前の由来はクロノスからきてるらしい。なんかすげー。
KWSK
0839nobodyさん2008/01/07(月) 01:03:00ID:???
全角大文字英数字きめぇww
0840nobodyさん2008/01/07(月) 02:23:52ID:???
PHP
0841nobodyさん2008/01/07(月) 02:34:35ID:???
きめぇからヤメロ。
今度全角英数で書き込んだら、
今日の午前9時にこのスレに凄いこと書き込むぞ。
0842nobodyさん2008/01/07(月) 02:37:59ID:???
841 名前:nobodyさん[sage] 投稿日:2008/01/07(月) 02:34:35 ID:???
きめぇからヤメロ。
今度全角英数で書き込んだら、
今日の午前9時にこのスレに凄いこと書き込むぞ。
0843nobodyさん2008/01/07(月) 02:38:47ID:???
echo "\x82\x6f\x82\x67\x82\x6f";
0844nobodyさん2008/01/07(月) 03:13:09ID:???
なにこの必死な人、失笑をかう
0845nobodyさん2008/01/07(月) 03:24:18ID:???
失笑って売ることできるの?ちなみにペッサリーなら知ってるが。
0846nobodyさん2008/01/07(月) 04:16:51ID:???
世にも奇妙な物語「失笑屋さん」
0847nobodyさん2008/01/07(月) 04:43:31ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0848nobodyさん2008/01/07(月) 04:46:18ID:???
手動スクリプト乙
体内時計狂ってるぞw
0849nobodyさん2008/01/07(月) 05:20:42ID:???
ワロタ
0850nobodyさん2008/01/07(月) 05:20:42ID:???
半角カタカナきめぇww
0851nobodyさん2008/01/07(月) 06:03:31ID:???
ピーエイチピー(ワラ
0852nobodyさん2008/01/07(月) 06:35:03ID:???
もう冬休みも終わりですよ
いい加減元の流れに戻してください
0853nobodyさん2008/01/07(月) 10:45:04ID:???


   回答者のレベルひっくw

   さすが ピーエイチピーーーーーーーー

0854nobodyさん2008/01/07(月) 11:38:18ID:???
>>852
ここは一生冬休みの人の集まりです。
0855nobodyさん2008/01/07(月) 13:46:16ID:???
なあ、配列をforeachとかでマワした後って$valueをうんせtしないとまずい?
$valueを参照する予定がなくても?
0856nobodyさん2008/01/07(月) 14:58:28ID:???
2つ以上のクラスを継承(extends)するにはどうすればいいのでしょうか?

CLASS config {
// 基本設定クラス
}
CLASS DB {
//DB関連のクラス
}
CLASS main {
// メインとなる処理を行うクラス
}
mainがconfig,dbを継承できるようにしたいです。
configがdbを継承すると3つが継承されるんですが、それだとすべてのアクセス時にDB接続を行ってしまうので避けたいです。
0857nobodyさん2008/01/07(月) 15:07:17ID:???
>>856
多重継承がない言語では委譲として実装するのが定石
http://ja.wikipedia.org/wiki/委譲

>>855
何を心配しているのか、わからない。
0858nobodyさん2008/01/07(月) 16:36:12ID:???
>>856
>>1
0859nobodyさん2008/01/07(月) 19:11:38ID:???
test
0860nobodyさん2008/01/07(月) 20:06:15ID:???
当方初心者のため、大変基本的な質問で申し訳ありません。
あるディレクトリ以下のファイルが更新された場合、
その最終更新時刻を表示するということをやりたいのですが、
どうにもあまり良い方法が浮かびません。

$dir="/file/";
if (file_exists($dir)) {
    $filetime=date ("m/d/Y H:i:s.", filemtime("$dir"));
}

一応このようなことをやってみたのですが、/file/のみの更新時間しか表示されません。
それ以下の階層に関しても全て含んだ上で、最も遅い最終更新時刻を得るには
どのようにしたら良いのでしょうか。
拙い説明で済みませんが、宜しくご教授下さい。
0861nobodyさん2008/01/07(月) 20:14:41ID:???
ディレクトリ内のファイルが更新されたら、そのディレクトリの最終更新日時も
更新されるんじゃなかったか。

ディレクトリ内で最も最終更新日時が最近のを取得したいとかだったら、
scandirみたいなことして一覧を取得してソートするのがいいんじゃないだろうか。
0862nobodyさん2008/01/07(月) 20:15:28ID:???
>>860

>>1
http://www.php.net/manual/ja/function.opendir.php
0863nobodyさん2008/01/07(月) 20:24:24ID:???
>>861
たとえば最後に/file/file2/a.phpのようなファイルを更新した時、
その最終更新時刻を表示させたいのですが、やってみてもダメでした。

>>862
質問に夢中で環境を失念しておりました、済みません。
Debian、PHP5、apache2です。
0864nobodyさん2008/01/07(月) 20:32:49ID:???
回答もらうことだけ考えてないでまず>>1をちゃんと読めよ。
0865nobodyさん2008/01/07(月) 20:35:25ID:???
>>863
ID出すように

まぁディレクトリ階層も対象にするなら再帰処理でもすれ
0866nobodyさん2008/01/07(月) 21:09:31ID:???
とりあえず回答者のレベルを俺様が吟味する。

回答しろ、カスども。

0867nobodyさん2008/01/07(月) 21:17:25ID:???
phpでやるよりコマンド発行して結果をパースする方が早くない?
0868nobodyさん2008/01/07(月) 21:50:16ID:???
>>863
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($last = new SplFileInfo('/file/'))) as $entry)
if($entry->getMTime() >= $last->getMTime())
$last = $entry;
echo date('Y/m/d H:i:s',$last->getMTime()),' ',$last;
無駄にSPLを使ってみたの図。
0869nobodyさん2008/01/07(月) 21:54:45ID:???
>>867
そのような他システムに依存するようなパラサイトなプログラムは設計者としては最低。
システムの不確定要素を増やし、バグポイントを増やすだけ。
最近、こういう安易な発想でシステムを組もうとするやつがうちの会社にも湧いて呆れるよ。
0870nobodyさん2008/01/07(月) 21:58:34ID:???
あきれてないで優しく教えてやれよ
0871nobodyさん2008/01/07(月) 22:37:58ID:???
コマンドを発行するのは変では無いと思うんだが・・・
多量に発行すると後々大変な事になるけど
0872nobodyさん2008/01/07(月) 22:58:24ID:???
既に出ている通り、scandir か opendir使えば良いだけだと思うが、質問者は解ったんだろうか?
■ このスレッドは過去ログ倉庫に格納されています