我一直在看move_upload_files函数,但我不认为这就是我需要的东西.
我需要上传一张图片(最大尺寸为2mb png,jpg,仅限gif),然后重命名,然后创建它的缩略图,并将两者保存到同一目录.我想首先上传/重命名主文件,然后取出并创建缩略图.但是我应该考虑做什么功能呢?
小智 7
if(isset($_FILES['p1']) && $_FILES['p1']['tmp_name'] != ''){
$sizes = array();
$sizes['50'] = 50;
$sizes['150'] = 150;
$sizes['500'] = 500;
$prefix = time();
list(,,$type) = getimagesize($_FILES['p1']['tmp_name']);
$type = image_type_to_extension($type);
move_uploaded_file($_FILES['p1']['tmp_name'], 'uploads/'.$prefix.$type);
$t = 'imagecreatefrom'.$type;
$t = str_replace('.','',$t);
$img = $t('uploads/'.$prefix.$type);
foreach($sizes as $k=>$v){
$width = imagesx( $img );
$height = imagesy( $img );
$new_width = $v;
$new_height = floor( $height * ( $v / $width ) );
$tmp_img = imagecreatetruecolor( $new_width, $new_height );
imagealphablending( $tmp_img, false );
imagesavealpha( $tmp_img, true );
imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
$c = 'image'.$type;
$c = str_replace('.','',$c);
$c( $tmp_img, 'uploads/'.$k.'_'.$prefix.$type );
}//
}//
Run Code Online (Sandbox Code Playgroud)
我使用它上传,重命名和创建3个不同的拇指,希望这有助于某人.
你至少需要看看PHP的GD功能,或者更好的是Imagick来创建拇指.
这里有数以万计的教程,这里有几个:
或者您可以使用现成的解决方案,例如: