-3

画像をアップロードして保存するフォームの作成に問題があります。

アップロード(フォームの送信)後、print_r($FILES)関数でこれを取得します:

Array ( [Image] => Array ( [name] => 4HfoEtn.jpg [type] => image/jpeg [tmp_name] => C:\Windows\Temp\php151F.tmp [error] => 0 [size] => 70107 ) )

しかし、ファイル ブラウザーで C:\Windows\Temp\ に移動すると、ファイルが存在しません。

さらに、実行すると:

$tmp_image_dir = basename($_FILES['Image']['tmp_name']);
echo "<img src=\"" . $tmp_image_dir . "\">" . "<br>";

画像が表示されません。

また、実行すると:

$image_dir = "/images/";
$image_dir = $image_dir . basename($_FILES['Image']['name']);
if(move_uploaded_file($_FILES['Image']['tmp_name'], $image_dir)) echo "Image Uploaded Successfully" . "<br>";

「画像が正常にアップロードされました」というメッセージが表示されない

次に、実行すると、明らかに次のようになります。

echo "<img src=\"" . $image_dir . "\">" . "<br>

画像のない画像プレースホルダーも取得します。

4

1 に答える 1

1

または手動で$image_dir作成しない場合は、存在することを確認してください。すでにファイルのベース名であるため、 in を使用する必要はありません。mkdir
basename$_FILES["Image"]["name"]

以下のコードを試してください

<?php
  $image_dir  = "images/";
  if ( !file_exists( $image_dir ) ) {
    mkdir( $image_dir, 0755 );
  }
  $image_dir  = $image_dir.$_FILES["Image"]["name"];
  if ( move_uploaded_file( $_FILES["Image"]["tmp_name"], $image_dir ) ) {
    echo "Image Uploaded Successfully<br>";
  }
  echo '<img src="'.$image_dir.'">';
?>
于 2013-07-06T21:55:29.357 に答える