[PHP-users 6860] Re: 配列で画像のコピー

hajime php-users@php.gr.jp
Sat, 13 Apr 2002 14:19:13 +0900


hajimeです。
きしださん、お返事ありがとうございます。

実は前回のメール[PHP-users 6854]では質問のために
できるだけ簡単に?して質問したのですが、
かえって分かりにくかったですか?

実際はこんな感じです。

サムネイル画像をアップロードして、
それを表示させる。

1.ディレクトリ構成
┣copy_file_oya.php(ファイル)
┣j_galleryxx.php(ファイル)
┗juichi_gallery_img(ディレクトリ)━photo01(ディレクトリ)

2.「copy_file_oya.php」にて
<?php
header("Content-type: text/html; charset=euc-jp");
//以下で「j_galleryxx.php」から「j_gallery01.php」を作成。
copy("j_galleryxx.php" , "./j_gallery01.php");
・
・
一部省略
・
・
print("<FORM ACTION=\"./$newfile\" METHOD=\"post\"
enctype=\"multipart/form-data\">\n");
print("<INPUT TYPE=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"400000\">\n");
print("#1サムネイル名 <INPUT NAME=\"thumnail1\" TYPE=\"file\"><br>\n");
print("#1サムネイル名 <INPUT NAME=\"thumnail2\" TYPE=\"file\"><br>\n");
print("#1サムネイル名 <INPUT NAME=\"thumnail3\" TYPE=\"file\"><br>\n");
print("#1サムネイル名 <INPUT NAME=\"thumnail4\" TYPE=\"file\"><br>\n");
print("#1サムネイル名 <INPUT NAME=\"thumnail5\" TYPE=\"file\"><br>\n");
・
・
一部省略
・
・
?>

「j_galleryxx.php」というもとのファイルをコピーして「j_gallery01.php」という
ファイルをつくります。
「copy_file_oya.php」から「thumnail1」に画像データを入れて・・・

3.「コピーされて作られたj_gallery01.php」にて
<?php
header("Content-type: text/html; charset=euc-jp");
//チェックのためのechoです。
echo($newdir);
echo($thumnail1);

//配列にいれなおしてる。効率わるいですよね。
$thum[] = $thumnail1;
$thum[] = $thumnail2;
$thum[] = $thumnail3;
$thum[] = $thumnail4;
$thum[] = $thumnail5;

foreach($thum as $value)
{
//チェックのためのechoです。
echo($thum[0]); 
echo($value);
//以下でコピーしてます。
//$newdirは別で指定してます。今回は「photo01」です。
copy($value , "./juichi_gallery_img/$newdir/$value_name");
}
?>
・
・
・
以下に所定のディレクトリにコピーされたサムネイル画像を表示させる
HTMLが続きます。



以上で実際試してみると、
echoでチェックの為に表示させたら、
photo01 /var/tmp/php000327 /var/tmp/php000327 /var/tmp/php000327

そしてエラーが、
Warning: Unable to create './juichi_gallery_img/photo01/': Is a directory in
/Users/hajime/Sites/upload_gallery/j_gallery01.php on line 16
/var/tmp/php000327none
Warning: Unable to open 'none' for reading: No such file or directory in
/Users/hajime/Sites/upload_gallery/j_gallery01.php on line 16
/var/tmp/php000327none
Warning: Unable to open 'none' for reading: No such file or directory in
/Users/hajime/Sites/upload_gallery/j_gallery01.php on line 16
/var/tmp/php000327none
Warning: Unable to open 'none' for reading: No such file or directory in
/Users/hajime/Sites/upload_gallery/j_gallery01.php on line 16
/var/tmp/php000327none
Warning: Unable to open 'none' for reading: No such file or directory in
/Users/hajime/Sites/upload_gallery/j_gallery01.php on line 16

と表示されます。

copy($value , "./juichi_gallery_img/$newdir/$value_name");
を
copy($value , "./juichi_gallery_img/$newdir/$thumnail1_name");
とするとちゃんと画像がコピーされるのですが・・・

以上、長々と申し訳ありませんが、
よろしくお願いします。

hajime
hajime@ruru.ne.jp