- 締切済み
CGIにおけるサーバへのファイル書込みについて
[Mon Oct 16 16:27:12 2006] [error] [client 207.46.98.48] Premature end of script headers: prev.cgi [Mon Oct 16 16:27:13 2006] [error] [client 66.249.72.6] damy.dat Cannot Open at /home/e-fresh/public_html/prev.cgi line 71. サーバに上記のようなエラーログがありまして, ファイル作成&書込みができません。 私自身としては,サーバのフォルダに書込み権限が無い事が考えられます が,それをチェックする方法があれば併せてご教示願います。 prev.cgiの中身は下記の通りです。 $damy = 'damy.dat'; open DB,"$d_file" or die "$d_file オープン失敗"; open DAMY,">$damy" or die "$damy Cannot Open"; while (<DB>){ …} close DAMY; close DB; #ダミーファイルをデータファイルにリネーム rename($damy, $d_file) or die "Could not RENAME $damy TO $d_file";
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- umasikajiro
- ベストアンサー率67% (545/803)
>私自身としては,サーバのフォルダに書込み権限が無い事が考えられます >が,それをチェックする方法があれば併せてご教示願います。 openする前にチェックするのであればフアイルテスト演算子です。 http://www.rfs.jp/sb/perl/02/08.html#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%86%E3%82%B9%E3%83%88%E6%BC%94%E7%AE%97%E5%AD%90%E3%81%AE%E4%B8%80%E8%A6%A7 サンプル $test_file = './test.dat'; unless(-w $test_file){print "$test_file は書き込めません";} else{print "$test_file は書き込み出来ます ";}
- guci-ok
- ベストアンサー率33% (49/146)
$!(ドルビックリ)にその答えが入っています。 open DAMY,">$damy" or die "$damy Cannot Open"; ↓ open DAMY,">$damy" or die "$damy Cannot Open: $!";
お礼
ご回答ありがとうございました。 大変参考になりました。
お礼
ご回答ありがとうございました。 大変参考になりました。