サムネイル (画像) をサーバーにアップロードするフォームを作成しようとしています - 画像がサーバーの一時フォルダーに正常にアップロードされているようです (これを確認しました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 です。そのため、アクセス許可は問題になりません。