Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP上传和覆盖照片文件_Php_File_Upload_Photo_Overwrite - Fatal编程技术网

PHP上传和覆盖照片文件

PHP上传和覆盖照片文件,php,file,upload,photo,overwrite,Php,File,Upload,Photo,Overwrite,我正在使用一些非常简单的PHP 用户上载具有某些目标和相同名称的照片文件,以便最新上载将覆盖旧版本 现在我的代码似乎可以工作了。我得到了应该上传的评论,但目标文件夹中没有文件。 我一直在搜索stackoverflow,但我似乎无法找到答案 HTML: <form enctype="multipart/form-data" action="upload_file.php" method="POST"> <input type="hidden" name="MAX_FILE

我正在使用一些非常简单的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
    $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>";
?>

发送此文件:
PHP:

<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
    $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>";
?>


确保您的
MAX\u FILE\u UPLOAD\u SIZE
已设置为略大于2BM(默认见php.ini)。根据我的经验,我将其设置为20MB,因此对于大于2MB的图像,也将上载

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

打印($文件)的输出是什么?是否看到任何错误?(您可能需要打开
错误报告(E\u ALL)
。您可以发布
打印($\u文件)
的结果吗?您确定您正在检查与PHP文件相关的
profilepicture
文件夹吗?请记住,任何用户都可以上载“另一个”用户文件名,因此替换他们的图片。可能会附加用户ID(如果他们已登录)。感谢您的输入。Darhazer和Edga,我从错误报告中得到:文件有效,并已成功上载。“以下是一些调试信息:数组([userfile]=>Array([name]=>navigation.jpg[type]=>image/jpeg[tmp_name]=>/var/tmp/phpbfXB6s[error]=>0[size]=>10787)数组([userfile]=>Array([name]=>navigation.jpg[type]=>image/jpeg[tmp_name]=>/var/tmp/phpbfXB6s[error]=>0[size]=>10787))“谢谢你的回答,redwind-我如何检查权限?