意外と悩みました。
インターネット上で掲載されているサンプルコードは、古いものばかりでそのままでは動作しませんでした。結局のところPHP本家の『ファイルアップロードの処理』を見てコーディングしたほうがよかったです。
http://jp2.php.net/manual/ja/features.file-upload.php
php.ini のupload_tmp_dir で指定したディレクトリ、ここでは"/var/php/"のパーミッションに注意
してください。このサーバーFreeBSD5.2なのですが、
drwxrwxr-x 2 daemon wheel 512 Sep 16 07:12 php
のようにすることでエラーなく動作しました。
ふぅ。。。
fileupload.php
------------------------------------------------------------------
File Edit Options Buffers Tools Help
<html>
<body>
<?php
$fFile = $_FILES["upfile"]["name"];
echo date(DATE_ATOM);
?>
<br>
<br>
FileUpload:<br>
<form method="POST" enctype="multipart/form-data" action="fileupload.php">
<input type="hidden" NAME="MAX_FILE_SIZE" SIZE="65536">
File:<input type="file" name="upfile" size=45 value=<?php echo $fFile ?>><br>
<input type="submit" value="Upload"><br>
</form>
<?php
echo "File:".$fFile."<br>\n";
$updir = "/var/php/";
$filename = $updir.basename($_FILES["upfile"]["name"]);
if(move_uploaded_file($_FILES["upfile"]["tmp_name"],$filename))
{
print("temp_name:".$_FILES["upfile"]["tmp_name"]."<br>\n");
print("<b>$filename</b> uploaded<br>\n");
}
else
{
print("Upload failed");
print($_FILES["upfile"]["error"]);
}
?>
OK!<br>
</body>
</html>
------------------------------------------------------------------
0 件のコメント:
コメントを投稿