文件未上传 PHP


File not uploading PHP

我试图编写代码将文件上传到PHP中的"media"文件夹。由于某种原因,它仍然不起作用。

下面是执行代码:

move_uploaded_file($_FILES["file"]["tmp_name"],"../media/" . $_FILES["file"]["name"]) or die ("Failure to upload content");

这是我的表单代码:

    <input type="file" name="file" id="file" /> 

任何想法为什么它可能不起作用?


编辑:

当我使用命令"print_r($_FILES);"时,它显示:

数组 ( [文件] => 数组 ( [名称] => 屏幕截图 2012-05-29 在 12.36.11 下午.png [类型] => 图像/png [tmp_name] =>/应用程序/MAMP/tmp/php/phpHNj3nW [错误] => 0 [大小] => 71640 ) )

图像未上传到文件夹中。

确保在你的表单中......你输入了 enctype。
例如:<form method="post" enctype="multipart/form-data" action="index.php"></form> ;

检查文件在提交表单时是否成功更新。 使用print_r查看结果。
print_r($_FILES);

确保

文件夹media具有 777 权限且路径../media/正确

将 encripation 放在表单中

<form method="post" action="index.php" enctype="multipart/form-data"></form>

签入 php.ini 文件max_execution_time 由于执行时间,不会上传大量图像。

签入 php.ini由于执行时间的原因,max_execution_time重图像的文件不会上传。

例如:;

有一个加密类型的表单还是 ajax 调用?您是否检查文件是否已发送到上传脚本(带有print_r($_FILES["file"])。如果正确,您是否检查了相对路径是否正确?必须从当前脚本开始(如果包含文件,则必须从包含脚本开始)。抱歉,如果答案看起来很简单,但发布的代码有点太短而无法评估。

在你的表单标签中,你想要这样的东西 <form enctype="multipart/form-data" action="uploader.php" method="POST">确保将文件的 enctype 设置为多部分/表单数据。将上传者.php替换为执行处理的 php 文件的名称。此外,请确保您的权限已设置,以便可以在目录中创建文件。

以下是可能的问题列表: http://php.net/manual/en/features.file-upload.php

您是否检查过"Web 服务器用户"是否具有对"../媒体" ?

我遇到了同样的问题。我使用的是 ubuntu 18.04,当我在终端上使用此权限命令时解决了这个问题。sudo chmod -R 777/var/www/html/target_dir.->我有 apache2 网络服务器,target_dir下载,因此请根据您的目标目录替换target_dir。

确保在你的表单中......你输入了 enctype。

move_uploaded_file($file_tmp,"images/".$file_name);
echo "Success

如果有人不知道最简单的文件是什么php uploader这是我测试它的代码,它会将文件上传到当前文件夹

不安全

此代码仅用于学习目的,请勿将其上传到工作环境。

<html>
    <body>
        <form method="post" enctype="multipart/form-data">
            <label for="file">Filename:</label>
            <input type="file" name="file1" id="file1" /> 
            <br />
            <input type="submit" name="submit" value="Submit" />
        </form>
    </body>
</html>
<?php
if(isset($_POST['submit'])) {
    if ($_FILES["file1"]["error"] > 0) {
        echo "Error: " . $_FILES["file1"]["error"] . "<br />";
} else {
 echo "Upload: " . $_FILES["file1"]["name"] . "<br />";
 echo "Type: " . $_FILES["file1"]["type"] . "<br />";
 echo "Stored file:".$_FILES["file1"]["name"]."<br/>Size:".($_FILES["file1"]["size"]/1024)." kB<br/>";
 move_uploaded_file($_FILES["file1"]["tmp_name"],dirname(__FILE__).'/'.$_FILES["file1"]["name"]); 
  }
}
exit ();
?>

信用 https://stackoverflow.com/a/15709181/3019002

您需要将文件夹权限设置为 777。 否则您的文件将无法加载