求救:php 上传图片时,获取图片的大小??

<?php
if (isset ($_POST['uploadButton']))
{
//echo 'ddddd';
echo imagecreatefromjpeg($_FILES['file_upload']['name']);

print_r(getimagesize($_FILES['file_upload']['name']));
print_r($_FILES['file_upload']);
}
?>
<form action="1.php" method="post" enctype="multipart/form-data">
<input type="file" name="file_upload">
<input type="submit" value="upload" name="uploadButton">
</form>
目的:图片没有保存到指定的文件夹之前,能够获取图片的尺寸

不要用$_FILES['file_upload']['name'],用$_FILES['file_upload']['tmp_name']
文件上传后,php是先保存在/tmp/底下。可以通过$_FILES['file_upload']['tmp_name']来获取这个文件名。这个时候你是可以随意地对这个临时文件运行各种命令,包括获取图片大小。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-16
function upload($path,$photo,$zoom=false){
$uploaddir = $path;
$piece = explode('.',$photo['name']);
$uploadfile = $uploaddir . md5($piece[0]).'.'.$piece[1];
$result = move_uploaded_file($photo['tmp_name'], $uploadfile);
if(!$result){
return false;
}
if($zoom){
list($width_orig, $height_orig) = getimagesize($uploadfile);
if ($width_orig!=61||$height_orig!=61) {
$image_p = imagecreatetruecolor(61, 61);
if($piece[1]=="jpg"||$piece[1]=="jpeg"){
$image = imagecreatefromjpeg($uploadfile);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 61, 61, $width_orig, $height_orig);
imagejpeg($image_p,$uploadfile);
}else if($piece[1]=="gif"){
$image = imagecreatefromgif($uploadfile);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, 61, 61, $width_orig, $height_orig);
imagegif($image_p,$uploadfile);
}
}
}
return basename($uploadfile);
}
第2个回答  2011-01-16
Unforgiveness 说的没错
相似回答