[英]Upload php script problems
使用Expression Web,希望将图像上传到我的网页,即使使用脚本编写也不会收到错误消息。 设置上传文件夹以与所有人共享。 php.ini
设置为file_uploads=on;upload_max_size=128M
。 在Firefox上,脚本超时;在IE上,“ Internet Explorer无法显示页面”。
我一直在寻找答案数周。 尽管我是php的新手,但我尝试过的所有其他脚本都可以工作。 这个上传的东西让我抓狂了。 最近的上传脚本尝试:
if (isset($_POST['submitted'])) {
// Check for an uploaded file:
if (isset($_FILES['upload'])) {
// Validate the type. Should be JPEG or PNG.
$allowed = array ('image/pjpeg', 'image/jpeg', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png');
if (in_array($_FILES['upload']['type'], $allowed)) {
$target_path = "C:/uploads/";
$name=$_FILES['upload']['name'];
$error=$_FILES['upload']['error'];
$tmp_name=$_FILES['upload']['tmp_name'];
if($error==UPLOAD_ERR_OK){
if($_FILES['upload']['size']>0){
move_uploaded_file($tmp_name, $target_path.$name);
print ("The file ".$name." has been uploaded.\n");
} else{
print ("There was an error uploading the file, please try again!\n");
}
}elseif ($error==UPLOAD_ERR_NO_FILE) {
print("No files specified.\n");
}else{
print("Upload failed.\n");
}
print("\n");
}//End of !in_array IF.
} // End of isset($_FILES['upload']) IF.
} // End of the submitted conditional.
?>
<div>
<form action="photogallery.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="524288" />
<p><b>File:</b><input name="upload" type="file" /></p>
<input name="submit" type="submit" value="Submit" />
<input name="submitted" type="hidden" value="TRUE" />
</form>
</div>
我试图将图像上传到目录中的upload文件夹中,然后显示在我的网页上。 我已将图像手动放入文件夹中,它们将通过链接显示在我的网页上,但使用这些脚本将无法使用。 我的网站不在开发中,我正在使用XAMPP和Microsoft开发服务器。
实际错误很难分辨。 但是您的脚本上有几点要提(典型的上传脚本问题):
['name']
常量可以为空,这将解释上传错误。 "../Windows/System.ini"
,因为它未经过滤就用作输出文件名,因此对您的脚本来说并不是很好。 ['type']
同样也不可靠。 但这可能不是这里的问题。 至少要在其上使用strtolower()
,而不要列出多个MIME替代方案。 error_reporting(E_ALL);
它将告诉您是否存在move_upload_file()权限问题。 我建议您从一个简单的开始
move_uploaded_file($_FILES["upload"]["tmp_name"], "C:/uploads/test.1");
然后根据您的其他条件逐步扩展它,以查找导致上传问题的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.