【PHP】質問スレッドpart34【php】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2006/03/21(火) 10:19:14ID:???【ガイドライン】
質問の前にgoogleやマニュアルを検索してください。
http://www.php.net/manual/ja/
http://php.s3.to/namazu/
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄には何も記述しないでください)
2. ハードウェア、OSのバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。
5. 質問者としても態度をわきまえること。
◆質問後の注意
・質問者は必ずIDを表示させてください。
書き込む場合はメール欄に何も記述しないでください。
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
過去スレ、関連リンク、FAQ等>>2-10辺り
0951943
2006/05/15(月) 18:20:41ID:???ちょっと変ですが、以下のソースで出来ました!アドバイスありがとうございました。
<?
$name="hoge";
$dir_name="../files/";
$dh=opendir("$dir_name/$name/");
$dir_name_path="$file_name/$c_id/";
while($file=readdir($dh)){
if(is_file($file)){
unlink($dir_name_path . $file);
}
}
rmdir("$dir_name/$name");
closedir($dh);
?>
0952nobodyさん
2006/05/15(月) 20:56:00ID:???解決したみたいだけど、ディレクトリの中の全ファイル削除ならそれで問題ないと思う。
ディレクトリの中に更にディレクトリとかあるのなら話しは別だけど。
>>945のエラーについては、$fileを出力すればエラーの理由が分かると思うよ。
0953943
2006/05/15(月) 21:33:59ID:???readdirを使うと0があるファイル名を読み込む時、FALSEと見なして
意図しない動作になると、リファレンスに記述がありました。
事実、それでずっと特定のファイルが削除されずに悩んでいたのですが、
ローマ字だけのファイルなどは問題なく削除されるので、0の問題があると思います。
上記のソースで、0を含むファイル名の場合の対処法をご存じであれば教えて下さい
0956nobodyさん
2006/05/15(月) 21:51:39ID:???readdirで正常動作しないのは「0」という名前のファイルのときであって
0を含むというだけなら全然関係ない。
別の問題があるんじゃないか?具体的にどんなファイル名が表示できてないのよ。
0957943
2006/05/15(月) 22:03:00ID:???マイクロタイム形式の「1140930321.jpg」こういうファイルです。
例えばtest.jpgとかindex.phpとかのファイルの場合は、問題なく削除出来ます。
同じソースでそういうわけなので、「0」の問題かと思っています。
かれこれ2時間悩んであれこれテストしてみたのですが、いきつく結果は
それかと思っているのですが・・。
0958nobodyさん
2006/05/15(月) 22:05:36ID:???それは0は関係ない。
ソースってこれか?
while($file=readdir($dh)){
if(is_file($file)){
unlink($dir_name_path . $file);
}
}
> if(is_file($file)){
を
if(is_file($dir_name_path . $file)){
にしてもダメか?
0959nobodyさん
2006/05/15(月) 22:07:24ID:???$dh=opendir("$dir_name/$name/");
$dir_name_path="$file_name/$c_id/";
なんでopendirの引数と$dir_name_pathの内容が違うの?
0960943
2006/05/15(月) 22:08:18ID:???if(is_file($dir_name_path . $file)){
これにしたら出来ました!!
自分ではどうしてかよくわからないのですが、、もう一度調べてみます。
何度もありがとうございました。
0961nobodyさん
2006/05/15(月) 22:09:34ID:???0962943
2006/05/15(月) 22:10:12ID:???すみません、色々とやってたので変更せずにそのまま投稿してしまいました・・。
ただしくは
$dh=opendir("$dir_name/$name/");
$dir_name_path="$dir_name/$name/";
です。。
0963943
2006/05/15(月) 22:11:45ID:???何か理由があるんですかね?全く持って不思議ですが・・。
私の書き方にも問題あると思いますが、動作しない理由が
よくわからないことがあります。リファレンス見ながらやっているのですが・・。
とりあえず、大変参考になりました。これでディレクトリ内一括削除はできそうです。
0964nobodyさん
2006/05/15(月) 22:15:46ID:???is_file($file)だとパスなしのファイル名になるから
実際はカレントディレクトリにそのファイルがあるかどうか、を判別してる。
多分、削除できてたローマ字ファイル名とやらは該当のディレクトリだけじゃなく
プログラムと同じ場所にも同名ファイルが置いてあって、
数字のファイル名は該当のディレクトリにしか無かったというオチ。
0965nobodyさん
2006/05/16(火) 02:12:09ID:luYBLTx6これでApacheとPHPを連携させるのですよね。
これで、localhostは見れたのですけど
C:\Program Files\Apache Group\Apache\htdocsに
test.phpを入れてhttp://localhost/test.php
でアクセスすると、
test.phpをダウンロードしますか?と出ます
何の設定が足りていないのでしょうか
0966nobodyさん
2006/05/16(火) 02:15:04ID:luYBLTx60967nobodyさん
2006/05/16(火) 02:15:16ID:???別のコンボボックスのデータを変えたいのですが、
どこもかしこも「onChange=""」でJavaScriptの関数を呼び出せ、
としか書いてありません。
JavaScriptに一切頼らず、PHPの処理だけでこれを実現することは不可能なのでしょうか?
0968nobodyさん
2006/05/16(火) 03:51:08ID:???これで、localhostは見れたのですけど
C:\Program Files\Apache Group\Apache\htdocsに
test.phpを入れてhttp://localhost/test.php
>localhostは見れた
どういうこと?何が見れたの?
0969nobodyさん
2006/05/16(火) 03:55:33ID:???phpはサーバサイドなので一度サーバになんらか送信しないと表示している画面を変更することはできません。
で、JavaScript(onchange)を使いたくないというなら「無理」
0970nobodyさん
2006/05/16(火) 04:07:31ID:???えと、寝る前に気がついたので再度(968っす)
http://localhost/でindex.htmlが見れたってことかな
であれば.phpが何で動くかって指定してないのではないかと
AddType application/x-httpd-php .php
とかをhttpd.confに設定してないんじゃない?
0973nobodyさん
2006/05/16(火) 07:56:03ID:???必要ねぇよ。嘘教えてんなよ。
サンプルのhttpd.confはClearModuleListを使って順序を決めなおしてるから
ちょっと冗長なんだよ。
0974nobodyさん
2006/05/16(火) 09:06:05ID:???コンボボックスってのはセレクトボックス+テキストボックスで
与えられた選択対象に目的のものがない場合に、ユーザが入力できるUIのことだ。
JavaScriptのライブラリでも使って特別に実装しない限り、コンボボックスにはなり得ない。
0975nobodyさん
2006/05/16(火) 09:07:20ID:XeHcc5dBAddType application/x-httpd-php .php
と、もうひとつの行は書き込んであります。
>>972
AddModuleが上の設定ではないのですか?
>>973
('A`)ヴァー
0976965(975)
2006/05/16(火) 09:09:54ID:XeHcc5dBLoadModule php4_module "C:/php/php4apache.dll"
AddModule mod_php4.c
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
↑これはhttpd.confに設定しました。
Action application/x-httpd-php "/php/php.exe"
SetEnv PHPRC C:/php
上記の2行は必要ですか?
0977nobodyさん
2006/05/16(火) 09:27:07ID:???Apache2.0+Winだけど、俺はこれだけ。
LoadModule php4_module "D:/path/to/php4apache2.dll"
AddType application/x-httpd-php .php
Apache再起動したの?
0978965(975)
2006/05/16(火) 09:33:27ID:XeHcc5dBしました、でも無理でした。
DLLをWINDOWS/system32/にコピーってのは必要なのですか?
0979965(975)
2006/05/16(火) 09:39:13ID:XeHcc5dB0981nobodyさん
2006/05/16(火) 10:36:24ID:???ここの通りにやれば動くよ
ttp://allabout.co.jp/internet/database/closeup/CU20031114/
0982965(975)
2006/05/16(火) 10:49:37ID:XeHcc5dBApache2?
0983nobodyさん
2006/05/16(火) 11:25:21ID:???これはやった事ないけどなぁ。
0984965(975)
2006/05/16(火) 11:28:37ID:XeHcc5dBttp://allabout.co.jp/internet/database/closeup/CU20031114
これのPHP設定に書いてあったんだが
必要ないのかな?
0985nobodyさん
2006/05/16(火) 11:33:17ID:???>>981
もうその情報は過去のものだお。ちゃんとマニュアル嫁。
>古いバージョンのマニュアルでは、ini ファイルおよび DLL ファイルをシステムフォルダ (C:\WINDOWS など) へ移動させることを推奨していました。
>新しいバージョンのインストールにあたっては、これら移動させたファイル(システムフォルダ内の php.ini や PHP 関連の DLLなど)をすべて削除することを推奨します。
0986nobodyさん
2006/05/16(火) 12:03:19ID:???http://php.s3.to/man/install.windows.apache2.html
0987965(975)
2006/05/16(火) 12:06:53ID:XeHcc5dB一つは、CGI バイナリを使用する方法、もう一つ は Apache モジュール DLL を使用する方法です。
どちらの場合も httpd.conf を編集して Apache が PHP を利用できるようにした後、 Apache サーバを再起動する必要があります。
この2種類は何が違うんですか?
0988spam業者のアドレス
2006/05/16(火) 12:21:26ID:???0989nobodyさん
2006/05/16(火) 12:32:38ID:???0990nobodyさん
2006/05/16(火) 13:25:12ID:???マニュアルにちゃんと記載してあるのだが・・・
>ロックは fclose() でも解放されます (スクリプトが終了した場合も自動的にコールされます) 。
故にfcloseの直前で明示的にロックを開放する必要はないし、しない方がいい
0991nobodyさん
2006/05/16(火) 13:33:38ID:???0992nobodyさん
2006/05/16(火) 13:55:26ID:???$info['user'][$i]['age']
$info['user'][$i]['sex']
のような配列を使っていたのですが、途中に数字が入るのにどうも違和感があったので
$info['user']['name'][$i]
$info['user']['age'][$i]
$info['user']['sex'][$i]
のような形に変えました。
しかしageでソートするのに以前の形式ではusort()を使って簡単にできたのですが、
変更後ではageしかソートされず困っています。
こういう場合どうすればいでしょうか?
0993nobodyさん
2006/05/16(火) 15:38:33ID:???php.iniではなくプログラム側で指定する方法はありませんか?
0994nobodyさん
2006/05/16(火) 16:07:20ID:???0995nobodyさん
2006/05/16(火) 16:13:28ID:???【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
こっち行け。やさしく対応して貰えるかもよ。
0996nobodyさん
2006/05/16(火) 18:26:49ID:???0997965(975)
2006/05/16(火) 18:53:46ID:luYBLTx6原因はphp.iniへのパスのミスでした…
本当に何度も何度も迷惑かけてすみませんでした。
0998nobodyさん
2006/05/16(火) 19:20:35ID:???0999nobodyさん
2006/05/16(火) 19:21:43ID:???10001000
2006/05/16(火) 19:22:13ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。