0

サムネイル (画像) をサーバーにアップロードするフォームを作成しようとしています - 画像がサーバーの一時フォルダーに正常にアップロードされているようです (これを確認しましたget_defined_vars- 一時ファイル名が表示され、エラーはありません)。しかし、そのフォルダには移動されていませんDOCUMENT_ROOT

ここでの最終目標は、画像をアップロードしてから、MySQL に保存する URL を返すことです。

HTML フォーム (DOCUMENT_ROOT/admin にあります)

<form action="upload.php" method="post" enctype="multipart/form-data">
  <label for="thumbnail">Thumbnail </label>
  <input type="file" name="thumbnail" id="thumbnail">
</form>

Upload.php

<?php
$thumbnail = uploadfile($_FILE['thumbnail']['name'],$_SERVER['DOCUMENT_ROOT'].'/thumbs/upload/',$_FILE['thumbnail']['tmp_name']);
if(($thumbnail)!== FALSE)
{echo $thumbnail;} else {echo 'upload failed<br>';}

function uploadfile($origin, $dest, $tmp_name)
{
  $origin = strtolower(basename($origin));
  $fulldest = $dest.$origin;
  $filename = $origin;
  echo '$fulldest '.$fulldest.'<br />';
  echo '$filename '.$filename.'<br />';
  if (move_uploaded_file($tmp_name, $fulldest))
    {return $filename;}
  return false;
}
?>

結果 (注: 実際のドキュメント ルートは削除しました)

$fulldest [DOCUMENT_ROOT] /thumbs/upload/
$filename 
upload failed

また、アップロード 500M の .htaccess ディレクティブを設定して、画像サイズが問題でないことを確認しました

<IfModule mod_php4.c>
  php_value upload_max_filesize 500M
  php_value post_max_size 500M
</IfModule> 

編集:: 私のターゲット ディレクトリは、テスト用の chmod 0777 です。そのため、アクセス許可は問題になりません。

4

1 に答える 1