perlでデータベースを作成し、field[0]が連番になっており、画像をアップロードするとfield[0].jpgのファイル名でアップされます。


ファイルが存在するときにサムネイルを表示し、ない場合は代わりの画像を表示させたいのですが、
下のソースのあと、$thumbnailを表示すれば、出来ると思うのですが、
全てnopicture.jpgの画像が出てしまいます。
そこで、if(-e $dummy)をif(!-e $dummy)にしてみると、サムネイルが表示され、nopicture.jpgが表示されなくなってしまうので、
画像ファイルのファイル名やパスは合ってそうな感じなのですが、行き詰まってしまいました。

$dummy = $imgurl.$field[0].".jpg";
if(-e $dummy) { $thumbnail = qq|<IMG src="$dummy" width="100" height="75" border="0">|; }
else{ $thumbnail = qq|<IMG src="nopicture.jpg" width="100" height="75" border="0">|; }

また、同サイト内の別の部分で同じ事をしていますが、そちらでは正常に動作するので、更に分からなくなってしまっています。
可能性や確認する箇所など、アドバイスをください。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2009/03/01 13:07:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント100pt

$imgurl は相対パス指定ですか、それとも絶対パス指定ですか。

相対パス指定だとすると、そのPerlスクリプトが置いてあるディレクトリから相対的にたどっていくと、$imgurl.$field[0].".jpg" が見えないということはありませんか。

id:z16a

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

おかげで、無事に解決できました。

htmlからのパスとスクリプトからのパスがごっちゃになってしまっていました。

2009/03/01 13:07:13

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません