图片上传表单适用于某些人,但不适用于其他人?
我有一个很好用的图片上传表单!对我来说......似乎几乎每个人都会有错误!这是怎么回事? (!我知道我的节目是马虎,我不是在寻找的批评,只是一个权宜之计请帮助。)图片上传表单适用于某些人,但不适用于其他人?
形式:
<form enctype="multipart/form-data" action="imgupload.php" method="POST">
Image upload:
<input name="uploadedfile" type="file" />
<input type="submit" value="Upload" />
</form>
表单处理程序:
<?php
if (($_FILES["uploadedfile"]["type"] == "image/jpeg")
&& ($_FILES["uploadedfile"]["size"] < 4000000))
{
// Where the file is going to be placed
$target_path = "/images/";
/* Add the original filename to our target path.
Result is "images/filename.extension" */
//////////RENAME FILE/////////////
$filetype = pathinfo($_FILES['uploadedfile']['name'], PATHINFO_EXTENSION);
$oldtitle = $_FILES["uploadedfile"]["name"];
$take_file_extension = substr($oldtitle, 0, strrpos($oldtitle, '.'));
$title = "jeep_".$take_file_extension.".".$filetype;
$target_path = $target_path . $title;
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The picture ". basename($_FILES['uploadedfile']['name']).
" has been uploaded<br><br>----------------<br><br>";
echo "Upload: " . $_FILES["uploadedfile"]["name"] . "<br>";
echo "Size: " . ($_FILES["uploadedfile"]["size"]/1024) . " Kb<br>";
}
}
else
{
echo "There is a file size limit of 1MB. Only JPG's can be uploaded!";
}
?>
Works的我每次都会得到“有1MB的文件大小限制,只有JPG可以上传!”错误。
即使您的代码设置为接受图像可达4MB,你必须通过编辑几个php.ini中设置的值,告诉PHP允许这种尺寸的图像:
,为什么你只能上传.jpg图像的原因是因为您的条件被限制为JPG格式:
if (($_FILES["uploadedfile"]["type"] == "image/jpeg")
尝试开关:
switch ($_FILES["uploadedfile"]["type"]) {
case 'image/jpeg':
case 'image/png':
break;
default:
throw new Exception('Invalid image type');
}
事实上,他们不能上传任何大小的图像(甚至不是一个40kb img),告诉我它不能是php.ini设置。我有我的php.ini设置设置为允许1024M。我相信这是最大的?没有运气。 – user1142872 2012-03-27 02:57:53
Ahhh,“文件大小限制为1MB,只能上传JPG格式”必须是与类型相关的,而不是大小,然后重点关注文件类型。 – 2012-03-27 03:01:57
另一个奇怪的是我可以上传完全相同的图像,他们不能。 – user1142872 2012-03-27 03:06:12
我想知道如果它是你在php.ini的max_execution_time。尝试更改上述30
http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time
慢(低带宽)的连接可能需要更长的时间来上传使其报错了较大的图像,您的连接可能会更快。
将其更改为40,让我的同事现在进行测试。 – user1142872 2012-03-27 03:40:58
不行。这只是一个谜,我想...... – user1142872 2012-03-27 04:32:39
我一直在遇到同样的问题。我也改变了memory_limit和max_input_time。我现在正在测试,看看是否能解决任何问题。 – 2012-03-27 14:05:38
可能是他们正在上传png,gif,bmp? – itachi 2012-03-27 02:46:10
不,不专门为jpgs工作。 – user1142872 2012-03-27 02:55:32