繁体   English   中英

PHP上传问题

[英]PHP upload problems

我完全被难住了。 我正在尝试通过HTTPS上传一张简单的照片。 我已经无数次地完成了这项工作,但有一次它无法正常工作。

这是情况。 我正在使用一个非常简单但强大的文件上传脚本,简单的input = file等,并提交按钮以使用POST上传,从那里PHP接管并完成剩下的工作。 一旦在PHP端,我经历了一些问题解决/调试,并注意到文件名是一堆goop ... uploads /1. 8D J Q 9。 当然不是我选择的文件。

我不确定这是SSL,HTML5还是PHP的问题。 传递的所有其他数据最终在数据库中非常易读。

我在c:\\ fakepath的文件上传框中注意到了一些新内容,我在过去的几个月里使用过HTML5并且没有看到这个,查看它并看到它是HTML5安全功能。 不知道那是不是引起了这个问题?

好的,所以我已经和朋友确认了(因为我疯了),HTML和PHP很好。

我甚至打破了它,变得非常简单,仍然没有运气......

$uploaddir = 'uploads/';

$uploadfile = $uploaddir . basename($_FILES['photo']['name']);
$filename = $_FILES['photo']['name'];
if (move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile)) {
    echo "Alls good.";
}

另外在HTML页面上,我使用的是jquery插件“niceforms”,我已将其关闭以排除它,但仍无法正常工作。

谢谢。

我想知道你是否从下面的那个宣布你的:

<form enctype="multipart/form-data" action="uploader.php" method="POST">
   <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
   Choose a file to upload: <input name="uploadedfile" type="file" /><br />
   <input type="submit" value="Upload File" />
</form>

如果您上传了某些内容,则应声明enctype

总是简单的事情不是吗? 我想你可能会忽略你要将文件移动到的相对上传目录路径。 我不会在这里使用相对路径。

$uploaddir = 'uploads/';

相反,请尝试使用上载目录的完整文件系统路径。 这通常是与“uploads”目录连接的文档根目录。

$_SERVER['DOCUMENT_ROOT'] or dirname(__FILE__)

......应该有助于定义路径。

$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/uploads/';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM