• 締切済み

ファイルの出力先の指定

現在「/var/www/html」内に「fileread.cgi」というプログラムを制作しています。プログラム中で取得したファイルを「/home/mizumaki/download」に保存したいのですがうまくできません。プログラム中で $file="/home/mizumaki/download/index.html" open(OUT,">$file"); print OUT $data; close(OUT); と指定しても保存されません。「/home/mizumaki/download」には保存できないのでしょうか?

みんなの回答

  • nottisan
  • ベストアンサー率100% (2/2)
回答No.3

Windows上でPerlプログラムをしていますので あんまり自信が無いのですが… 「/var/www/html」内に「fileread.cgi」となりますと 「/home/mizumaki/download」の位置が 「/var/www/html/home/mizumaki/download」となるように思うのですが… 「.../home/mizumaki/download」といった風に書かれたらどうでしょうか? もしくは「fileread.cgi」から通常のWEBリンク(<a href="...")で 適当なテキストを表示するように書いて、リンクができるか試されたらいいのでは?と思います。 違ったことを言ってましたらすいません。

mizumaki22
質問者

お礼

ご回答ありがとうございます。

noname#19884
noname#19884
回答No.2

/home/mizumaki/downloadが開けるかどうか確認した方が良いのでは? あと、バークレー系のOSの場合はファイル名などの「大文字小文字」ははっきりと違うものとして扱われますので 実際は /home/Mizumaki/Download/ などのパス名だった場合にはエラーになります。

参考URL:
http://cocohome.hp.infoseek.co.jp/perl_ref/opendir.html
mizumaki22
質問者

補足

今、やってみたところ/home/mizumaki/downloadは開けませんでした。 パスも確認したところ/home/mizumaki/downloadであってました。

回答No.1

普通に権限が無いんじゃないでしょうか。 downloadのパーミッションを777とかにしたら出来るとか。 まずはエラーメッセージを出力させてみると良いかと思います。

mizumaki22
質問者

補足

パーミションは755でやってました。先程、777に変更してみましたがダメでした。一応、ファイルが開けなかったときは"ファイルが開けません"とエラーメッセージが出るようにしています。ちなみに実行するとエラーメッセージがでます。他に何か方法はないでしょうか?

関連するQ&A