6

我试图编写代码以将文件上传到 PHP 中的“媒体”文件夹。由于某种原因,它仍然无法正常工作。

这是执行代码:

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);”时,它显示:

Array ( [file] => Array ( [name] => Screen Shot 2012-05-29 at 12.36.11 PM.png [type] => image/png [tmp_name] => /Applications/MAMP/tmp/php/ phpHNj3nW [错误] => 0 [大小] => 71640 ) )

图像未上传到文件夹中。

4

9 回答 9

28

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

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

于 2012-05-29T22:02:41.553 回答
5

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

于 2012-05-29T22:10:01.970 回答
3

将密码放入表格中

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

签入 php.ini 文件max_execution_time ,由于执行时间,重图像未上传..

于 2015-06-05T12:14:59.227 回答
2

检查 php.ini 文件 max_execution_time 由于执行时间,重图像未上传..

例如:;

于 2016-03-26T05:47:27.240 回答
1

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

于 2012-05-29T22:04:52.713 回答
0

在您的表单标签中,您需要这样的 <form enctype="multipart/form-data" action="uploader.php" method="POST"> 内容确保文件的 enctype 设置为 multipart/form-data。将 uploader.php 替换为进行处理的 php 文件的名称。还要确保设置了您的权限,以便可以在目录中创建文件。

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

于 2012-05-29T22:03:16.843 回答
0

您是否检查过“网络服务器用户”对“../media”有写入权限?

于 2012-05-29T22:11:44.783 回答
0

我遇到了同样的问题。我正在使用 ubuntu 18.04,当我在终端上使用此权限命令时,它已解决。 须藤 chmod -R 777 /var/www/html/target_dir。-> 我有 apache2 Web 服务器和 target_dir 作为下载,所以根据您的目标目录替换 target_dir。

于 2018-10-20T13:53:29.993 回答
0

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

move_uploaded_file($file_tmp,"images/".$file_name);
echo "Success
于 2019-11-19T06:58:54.223 回答