【PHP】下らねぇ質問はここに書き込みやがれ 31
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/10/25(水) 08:45:46ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
【前スレ】
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しない)
・ サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0622621
2006/11/01(水) 17:06:47ID:???0625nobodyさん
2006/11/01(水) 17:25:11ID:???name属性で指定した文字はPOST送信されないんでしょうか?
(_xと_yの座標は渡されますが)
0627nobodyさん
2006/11/01(水) 17:37:17ID:uM8NHcM0filesize("http://〜〜");だとエラーが返されます。
どうすればよいのでしょうか。
0629619
2006/11/01(水) 18:20:37ID:nyPZj6d6サーバAで文字列をMysqlのテーブルに書き込み、
サーバBにファイルを保存、
したいんです。
0630nobodyさん
2006/11/01(水) 18:38:33ID:???別サーバ側にfilesize返すスクリプトを書いてHTTP_Requestで叩け
>>628
そういう仕様だよWWWの
>>629
サーバAのスクリプト内からサーバBへHTTP_Requestで叩いてアップロードしろ
0631nobodyさん
2006/11/01(水) 18:40:08ID:uM8NHcM0こちら側から別サーバーは管理できないんです。
とりあえずfile_get_contentとstrlenの組み合わせで現在対処しましたが、
いちいち内容をダウンロードせずに、
サイズだけ図れる方法はないんでしょうか?
0632604
2006/11/01(水) 18:44:19ID:???ありがとうございます。
1か2だけなんでifでもswitchでもいいんですが、DBを導入するほどのものでもないです。
ただ、>>609のような配列を使ってやるってのは「ああ、成る程」って感じです。
自分にはない考え方って面白いand勉強になりますね。
0635nobodyさん
2006/11/01(水) 22:49:29ID:Z3WwdpXHディレクトリの更新時刻は、子ファイルの更新時刻に同期するけど、
それより下の階層のファイルの影響は受けないようですね。
対象ディレクトリの配下のすべてのファイルから最終更新時刻を一発で
取得するコマンドとかないでしょうか。
0636nobodyさん
2006/11/01(水) 23:12:32ID:???取得する方法はありますか?
社内LAN内にWebサーバがある環境です。
0638nobodyさん
2006/11/01(水) 23:52:59ID:osJKunqT636です。
0640636
2006/11/02(木) 00:14:41ID:PZcPsbvTありがとうございました。
0642nobodyさん
2006/11/02(木) 01:39:23ID:RYi0SuH10643nobodyさん
2006/11/02(木) 01:44:52ID:???0644nobodyさん
2006/11/02(木) 01:51:18ID:RYi0SuH1早速の回答ありがとうございます。そうっすか。ありがちなんでどっかに落ちてるかと思ったので。
ちなみに、Aタグ〜/Aタグを取得しようとしたら、正規表現の後方参照で取得するのが一般的な手法ですかね?
XMLパーサーでちまちまやりますか?
0646nobodyさん
2006/11/02(木) 04:39:55ID:ObNxAJOw末尾にhenko.phpが追加される(元のアドレスがhttp://localhost/ex/だとすると、
http://localhost/ex/henko.php)のですが、画面に表示される内容は
http://localhost/ex/という状態が起きています。
<form method="POST" action="./henko.php">
<input type="hidden" name="ki" value="<?php $row['ki']; ?>" >
<input type="submit" value="変更" >
</form>
どのようにしたらhttp://localhost/henko.phpにジャンプするようになるでしょうか?
0647nobodyさん
2006/11/02(木) 05:04:38ID:???PHP以前にHTMLのリンクレベルの質問だと思うけど
action="./henko.php"をaction="/henko.php"にすればいいかと。
0651nobodyさん
2006/11/02(木) 06:03:50ID:???>PHP以前にHTMLのリンクレベルの質問だと思うけど
>PHP以前にHTMLのリンクレベルの質問だと思うけど
>PHP以前にHTMLのリンクレベルの質問だと思うけど
>PHP以前にHTMLのリンクレベルの質問だと思うけど
>PHP以前にHTMLのリンクレベルの質問だと思うけど
0652nobodyさん
2006/11/02(木) 06:31:44ID:???../henko.php
わかったらHTMLの勉強からやり直すんだな。
0653nobodyさん
2006/11/02(木) 06:32:33ID:???0654nobodyさん
2006/11/02(木) 07:18:26ID:???おまいら・・・
> action="./henko.php"をaction="/henko.php"にすればいいかと。
は前者が ./ (ドット1個) で後者は / (スラッシュのみ。つまりルート参照)ですよ。
0655nobodyさん
2006/11/02(木) 07:18:32ID:???action="/henko.php" document rootからの絶対パス http://example.com/henko.phpになる
action="./henko.php" カレントディレクトリ
action="./henko.php" カレントディレクトリの1個↑のディレクトリ
0656nobodyさん
2006/11/02(木) 07:19:49ID:???ドットを付け忘れた
0657647
2006/11/02(木) 07:23:42ID:???すまん。「リンクレベル」ってそんな真面目な階層とかの意味じゃなくて
「HTMLのリンクを書くことと同レベルの質問」の意味だったんだ。
0659nobodyさん
2006/11/02(木) 08:13:16ID:???0661nobodyさん
2006/11/02(木) 09:00:21ID:???0662nobodyさん
2006/11/02(木) 09:14:29ID:???0663<>てすと>
2006/11/02(木) 09:50:21ID:v/7GXWbN0664619
2006/11/02(木) 09:57:30ID:D0jPHdjxそうか、HTTP_Requestを使うという方法があるんですね。
試してみます。
0666nobodyさん
2006/11/02(木) 10:30:51ID:???0667nobodyさん
2006/11/02(木) 10:35:29ID:???つまり、setcookieしたその直後に echo $_COOKIE['var']
で呼び出せないですよね?
これはなぜなんでしょうか。
これが非常に不便なんですが、良い方法ないでしょうか?
今まであれもこれもSESSIONに入れてたんですが、
COOKIE値とSESSION値を明確に線引きしようと
cokkieに使い変えたらこの問題が出てしまい、困っています。
0670nobodyさん
2006/11/02(木) 11:09:36ID:???0671667
2006/11/02(木) 11:23:14ID:???クラス内でsetcookieして、
別のクラスで$_COOKIEしても
上手く取得できません。
ほわぃ?
0672nobodyさん
2006/11/02(木) 11:36:51ID:???$_COOKIEはクライアントからのリクエストヘッダ。
setcookieはサーバからのレスポンスヘッダ(に書けという命令)。
全く別ものだから。
0674nobodyさん
2006/11/02(木) 11:56:02ID:???http://jp.php.net/manual/ja/
http://php.benscom.com/manual/ja/
0675nobodyさん
2006/11/02(木) 12:17:53ID:???$_COOKIEに入るクッキーの取得はプログラムの実行前で、
setcookie()で行うクッキーのセットはプログラムの実行後という
順番の逆転があるから。($_COOKIEとsetcookieは連動しない)
setcookie()直後に$_COOKIEで扱いたいのであれば
自分で $_COOKIE['var'] = 'foo'; ってセットしちゃうしかないと思う。
ただしそれをやると、実際にはブラウザが保存してくれてないのに
プログラムで値を使ってしまってトラブルになってしまう場合がある。
(ブラウザはクッキー有効の設定でも、部分的に却下することができる)
セッションはクッキーと違って「一部を相手が受け取らなかった」という
心配をする必要がないので、$_SESSIONを使ってシームレスに扱える。
0676646
2006/11/02(木) 12:28:33ID:ObNxAJOw質問間違えていて申し訳ないです、
正しくは、最後の1文が、
「どのようにしたらhttp://localhost/ex/henko.phpにジャンプするようになるでしょうか?」
です。すいません。
0678646
2006/11/02(木) 12:45:36ID:ObNxAJOw0679nobodyさん
2006/11/02(木) 13:53:44ID:???おいしいクッキーの作り方と食べ方
1. クライアントからのリクエスト
http header の cookie: でクッキー送信
2. Apache が環境変数 HTTP_COOKIE に代入
3. PHPが$_COOKIEへ代入
cookieがセットされてなければ当然空
4. PHPでsetcookie();
http header の Set-cookie:として送られるのでスクリプト終了するまで送られない
↑
今ここ 当然$_COOKIEは空
5. PHPの実行が終了
6. ApacheがSet-cookieヘッダで送信
7. クライアントのブラウザが処理
0680nobodyさん
2006/11/02(木) 14:51:27ID:???ARRAY {
[0] = NULL
[1] = NULL
[2] = NULL
[3] = hoge
}
の時、[3]のhoge以外は取り除くもしくは[3]のみ別配列に入れる事は可能でしょうか?
この場合、hogeは[3]にあるとは限らないので([1]かもしれないし、[10]かもしれません)
やり方に困っております
0681nobodyさん
2006/11/02(木) 14:56:32ID:???$newarray = preg_grep('/./', $array);
ただしこのやり方だと '' と NULL は区別できないけど。
0682nobodyさん
2006/11/02(木) 14:58:11ID:???やってみたのですがうまく動きません…
0683nobodyさん
2006/11/02(木) 15:04:36ID:???> foreachの中にforeachってできないんですか??
できる。
> やってみたのですがうまく動きません…
どう書いたのかちょっと見せてみ。
0684nobodyさん
2006/11/02(木) 15:07:14ID:???foreach($boo as $boo_arr) {
if($data_arr == $boo_arr) {
$log[] = $data_arr;
}
}
}
0686nobodyさん
2006/11/02(木) 15:27:55ID:???二回目のforeachのifの中の最後にbreak;しないと同じ値のデータが大量にできちゃうんじゃまいか?
どういう結果を求めてるか知らんけどな。
0687nobodyさん
2006/11/02(木) 15:28:32ID:???期待どおりの動きをしてくれません。。。
$dataに(1,2,3,4,5...12)
$booに(1,2,5,12)
が入っていた時
$logに(1,2,5,12)の配列を入れたいのですがなぜか12が入っていなかったりします。
あと684で間違いがありました。
正しくは
if($data_arr[num] == $boo_arr) {
$log[] = $data_arr;
}
です
0689nobodyさん
2006/11/02(木) 15:34:05ID:???そのnumってどっから出てきたの。
$data = array(1,2,3,4,5,6,7,8,9,10,11,12);
$boo = array(1,2,5,12);
foreach($data as $data_arr) {
foreach($boo as $boo_arr) {
if($data_arr == $boo_arr) {
$log[] = $data_arr;
}
}
}
var_dump($log);
結果:
array(4) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(5)
[3]=>
int(12)
}
0690687
2006/11/02(木) 15:39:12ID:???$dataは
ARRAY{
[0] ARRAY{
[num] = 1
[name]= satou
}
[1] ARRAY{.....}
と多重連想配列(?)になっています
0691nobodyさん
2006/11/02(木) 15:46:16ID:???実際にうまくいかないデータを出さないと多分分からん。
プログラム側じゃなくデータ側に問題あるんじゃないの?
0692nobodyさん
2006/11/02(木) 15:49:46ID:???> 正しくは
> if($data_arr[num] == $boo_arr) {
だったら多分
> $log[] = $data_arr;
は
$log[] = $data_arr['num'];
だろう
0693nobodyさん
2006/11/02(木) 16:00:42ID:???<?php
$updir = "./upload/";
$filename = $_FILES['upfile']['name'];
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $updir.$filename) == FALSE){
print("Upload failed...");
print($_FILES['upfile']['error']);
}else {
print("<b>" . $filename . "</b> uploaded!");
}
?>
</body>
</html>
-------------------------------------------------
基礎PHPという本でアップローダー作ってるんですが、
上記のプログラムだと画像しかアップロードできず、
動画はアップロード出来ません。どこが問題でしょうか?
0694nobodyさん
2006/11/02(木) 16:04:08ID:???プログラム的には問題は見受けられない。
1.ファイルサイズがアップロード可能な上限を超えている
2.確認方法が間違っている
のどっちかじゃない?
0695nobodyさん
2006/11/02(木) 16:15:12ID:???本のサンプルファイルをそのまま弄らずに使って確認してみたんですが、
画像だけアップロード指定先のフォルダにコピーされ、
動画だとアップロードのボタンを押したあと、永遠に何か処理しているような
感じでメーターだけ動くんですが、アップロード完了の画面が出たあと、
アップロード指定先のフォルダには何にも表示されないんです。
(指定先は画像と同じです。)
0698nobodyさん
2006/11/02(木) 16:44:42ID:???その設定、弄ってみます。
0699nobodyさん
2006/11/02(木) 17:51:17ID:???ついでに、post_max_size =も2Mから100Mにして、Apacheを再起動させてみたのですが、
-----------------
file uploader
Upload failed...1
------------------
のまま変化しません。4MBほどの軽い動画をいくつかやってみたんですが。
(先ほどメーターだけ動くと書きましたが勘違いで、何も表示されませんでした。)
画像などでは
-----------------
file uploader
abc.jpg uploaded!
-----------------
だと表示されて成功するんです。orz
0700nobodyさん
2006/11/02(木) 17:59:59ID:???php.iniちゃんと読み込まれてるか?phpinfoとかで確認した?
0701nobodyさん
2006/11/02(木) 18:01:14ID:???memory_limit > post_max_size > upload_max_filesize
それぞれの設定の意味はマニュアルを読んでもらうとして、memory_limitはどうなってる?
0702nobodyさん
2006/11/02(木) 18:12:25ID:???post_max_size 8M 8M
upload_max_filesize 2M 2M
のままでした。
>>701
memory_limitは8MBでしたので、
今100Mにして再起動したんですが、症状変わりませんでした。
phpinfoで表示されている通り
「Configuration File (php.ini) Path C:\WINDOWS」にあるphp.iniなんですが、
なぜ、反映されてないんでしょうか?
0703nobodyさん
2006/11/02(木) 18:25:37ID:???ってやばいですか?
できればデストロイせず、初期化したいのですが…
0704nobodyさん
2006/11/02(木) 19:26:28ID:y5JIMR69FTPソフトでWindowsにDLして解凍するとアイコンがおかしくなってます。
htmファイルなんてアイコンが無いです・・・。
普通に開く事は出来るのですが何か気持ち悪くて・・( ´Д`)
どなたか原因・対処方法をご存知の方、よろしくお願い致します。
0705nobodyさん
2006/11/02(木) 20:47:40ID:???0706nobodyさん
2006/11/02(木) 20:50:18ID:???0707nobodyさん
2006/11/02(木) 20:56:42ID:py7iJRLuConfiguration File (php.ini) Path のディレクトリが合ってるか確認、
そしてapacheの再起動、
それでも反映されないバグっぽいです。orz
0708nobodyさん
2006/11/02(木) 21:18:00ID:???おかしいとすぐバグとかいう人は、向いてないよ。
0709nobodyさん
2006/11/02(木) 21:22:13ID:py7iJRLuもうどうしようも・・・^^;
「php.ini 反映」でググっても、同じ症状の人、いっぱいいますし。
0710nobodyさん
2006/11/02(木) 21:45:58ID:???0716nobodyさん
2006/11/02(木) 22:59:07ID:???はい、次の質問どうぞ
0717nobodyさん
2006/11/02(木) 23:17:55ID:???1行1セルの形で入れたいと思ってます
4行ずつ処理していけばいいと思うのですがどう書けばいいか分かりません
エスパーたんお願いします
■ このスレッドは過去ログ倉庫に格納されています