我有以下脚本,我用来上传图片;除了PNG文件,该文件可以与其他文件扩展名一起使用。有什么理由吗?PNG文件将不会上传
这是我的脚本;
// initialization
$result_final = "";
$counter = 0;
// List of our known photo types
$known_photo_types = array(
'image/pjpeg' => 'jpg',
'image/jpeg' => 'jpg',
'image/gif' => 'gif',
'image/bmp' => 'bmp',
'image/x-png' => 'png');
// GD Function Suffix List
$gd_function_suffix = array(
'image/pjpeg' => 'JPEG',
'image/jpeg' => 'JPEG',
'image/gif' => 'GIF',
'image/bmp' => 'WBMP',
'image/x-png' => 'PNG');
// Fetch the photo array sent by preupload.php
$photos_uploaded = $_FILES['photo_filename'];
// Fetch the photo caption array
$photo_caption = $_POST['photo_caption'];
while($counter <= count($_FILES['photo_filename']['tmp_name']))
{
if($photos_uploaded['size'][$counter] > 0)
{
if(!array_key_exists($photos_uploaded['type'][$counter], $known_photo_types))
{
$result_final .= "File ".($counter+1)." is not a photo!<br />";
}else{
mysql_query("INSERT INTO database(`filename`, `caption`, `category`, `id`) VALUES('0', '".addslashes($caption[$counter])."', '".addslashes($_POST['category'])."', '".addslashes($_POST['id'])."')");
$new_id = mysql_insert_id();
$filetype = $photos_uploaded['type'][$counter];
$extention = $known_photo_types[$filetype];
$filename = $new_id.".".$extention;
@mysql_query("UPDATE database SET photo_filename='".addslashes($filename)."' WHERE photo_id='".addslashes($new_id)."'");
// Store the orignal file
copy($photos_uploaded['tmp_name'][$counter], $images_dir2."/".$filename);
}
}
$counter++;
}
那是我的代码,当我上传JPEG或GIF文件,但是当我上传PNG文件,这是行不通的一切工作正常。我也没有得到任何的错误。请问,有什么可能是错误?
愚蠢的问题,但是PNG的正确的MIME类型? – andrewsi 2013-04-25 14:32:32
猜测它不是。刚刚得到纠正。正确的是image/png thanxx @andrewsi – 2013-04-25 14:43:23