我试图编写代码将文件上传到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。 否则您的文件将无法加载