我正在编写一个PHP来将..PDF上传到我的服务器上。当前,当我“上传”文件时,系统的作用就好像任务已经完成一样,但是文件没有显示在指定的文件夹中。
表格代码
<form id="add" action="action.php" method="post" enctype="multipart/form-data">
<table><tr><td>
<input type="file" name="uploadedfile" id="uploadedfile" required />
</td></tr><tr><td>
<input id="upload" type="submit" value="Upload">
</td></tr></tr></table></form>
PHP代码
move_uploaded_file($_FILES["uploadedfile"]["tmp_name"],"Flyers/".$_FILES["uploadedfile"]["name"]);
发布于 2014-02-27 09:08:18
我认为问题可能是,您试图写入脚本正在运行的文件夹,但您需要给它一个完整的路径。
尝试:move_uploaded_file($_FILES“上载文件”、“/Flyers/”.$_FILES“上载文件”);
并确保在服务器根目录中有一个传单目录。public_html/Flyers
而且它是可以写的。(您的ftp客户端应该为您提供一些检查文件夹权限的方法。)
发布于 2014-02-27 09:14:49
首先,使用绝对路径而不是相对路径总是一个好主意,因为您可能会对可能使用的所有不同文件“迷路”。
move_uploaded_file($_FILES["uploadedfile"]["tmp_name"], __DIR__ . "/Flyers/".$_FILES["uploadedfile"]["name"]);
__DIR__
是包含此代码的脚本所在的目录,相应地更改它。
其次,您应该检查move_uploaded_file
的返回,看看它是否成功。这个函数返回一个boolean
,所以如果它是true
,那么您就知道它是成功的,否则就会出错。
通常是文件夹权限。如果您的was服务器配置不正确,可能会出现权限问题,运行PHP的用户对该文件夹没有适当的权限,并且可能被拒绝向该文件夹写入权限,这将破坏move_uploaded_file
。
要解决这个问题,您需要修复服务器配置.我不会在这里讨论,因为有太多的变量会影响到这一点。但是,您可以尝试将777或775权限设置到您希望上载到的文件夹,无论是使用ftp软件ssh,还是在php中使用chmod
或umask
(在PHP文档上搜索它们以查看如何使用)。
https://stackoverflow.com/questions/22075295
复制相似问题