2012-12-19 116 views
0

我正在使用一些非常普通的PHP。PHP上传和覆盖照片文件

用户上传的照片文件有一些目的地和相同的名称,以便最新上传将覆盖旧版本。

现在我的代码似乎工作。我得到了我应该上传的评论,但目标文件夹中没有文件。 我一直在寻找stackoverflow,但我似乎无法弄清楚。

HTML:

<form enctype="multipart/form-data" action="upload_file.php" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="512000" /> 
    Send this file: <input name="userfile" type="file" /> 
    <input type="submit" value="Send File" /> 
</form> 

PHP:

<?php 
    $uploaddir = 'profilepicture/'; 
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); 
    echo "<p>"; 
    if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
     echo "File is valid, and was successfully uploaded.\n"; 
    } else { 
     echo "Upload failed"; 
    } 
    echo "</p>"; 
    echo '<pre>'; 
    echo 'Here is some more debugging info:'; 
    print_r($_FILES); 
    print "</pre>"; 
?> 
+0

print_r($ _ FILES)的输出是什么? –

+0

您是否看到任何错误? (你可能想打开'ERROR_REPORTING(E_ALL)''你能发布'print_r($ _ FILES)'的结果吗? – Moseleyi

+0

你确定你正在检查'profilepicture'文件夹相对于你的PHP文件吗?请注意,任何用户都可以上传“另一个”用户文件名,因此可以替换他们的图片,也可以添加用户名(如果他们已经登录) – h2ooooooo

回答

0

确保您MAX_FILE_UPLOAD_SIZE已被设置为比2BM稍大(在php.ini默认seetings)。根据我的经验,我将它设置为20MB,因此对于大于2BM的图像也将被上传

0

您使用的平台是什么?如果是unix,请检查“profilepicture”权限和正确的相对路径。

+0

感谢您的回答redwind - 我如何检查权限? –