php上传图片,如何自动生成对应的小图,保留原图。
if(!empty($_FILES)){$tempFile=$_FILES['Filedata']['tmp_name'];//临时文件名//Validatethefil...
if (!empty($_FILES))
{
$tempFile = $_FILES['Filedata']['tmp_name']; //临时文件名
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); //允许的文件后缀
$fileParts = pathinfo($_FILES['Filedata']['name']); //文件原名
$ftype = $fileParts["extension"]; //文件扩展名
if (in_array($ftype, $fileTypes)) //判断扩展名是否正确
{
if(!file_exists($targetFolder))
mkdir($targetFolder);
$destination = $targetFolder.time().".".$ftype; //为上传图片重新指定一个名称
sleep(1); //睡眠1秒钟,避免获取的时间戳重复
if(!move_uploaded_file ($tempFile, $destination)) //将临时文件移到目标文件夹下指定文件名
{
echo "移动文件出错!";
}
else
{
$pinfo1=pathinfo($destination);
$fname = $pinfo1["basename"]; //文件在服务器中存储的名字
$thumb_path = "http://".$_SERVER ['HTTP_HOST']."/WHPCGH/admin/hdly/".$targetFolder.$fname;
echo $thumb_path; //上传成功后返回给前端的数据
}
}
else
{
echo '不支持的文件类型';
}
想实现上传过程中,同时生成一张小图,长宽可自己设置,如何实现啊,不知道怎么生成啊 展开
{
$tempFile = $_FILES['Filedata']['tmp_name']; //临时文件名
// Validate the file type
$fileTypes = array('jpg','jpeg','gif','png'); //允许的文件后缀
$fileParts = pathinfo($_FILES['Filedata']['name']); //文件原名
$ftype = $fileParts["extension"]; //文件扩展名
if (in_array($ftype, $fileTypes)) //判断扩展名是否正确
{
if(!file_exists($targetFolder))
mkdir($targetFolder);
$destination = $targetFolder.time().".".$ftype; //为上传图片重新指定一个名称
sleep(1); //睡眠1秒钟,避免获取的时间戳重复
if(!move_uploaded_file ($tempFile, $destination)) //将临时文件移到目标文件夹下指定文件名
{
echo "移动文件出错!";
}
else
{
$pinfo1=pathinfo($destination);
$fname = $pinfo1["basename"]; //文件在服务器中存储的名字
$thumb_path = "http://".$_SERVER ['HTTP_HOST']."/WHPCGH/admin/hdly/".$targetFolder.$fname;
echo $thumb_path; //上传成功后返回给前端的数据
}
}
else
{
echo '不支持的文件类型';
}
想实现上传过程中,同时生成一张小图,长宽可自己设置,如何实现啊,不知道怎么生成啊 展开
1个回答
展开全部
$kf=$_FILES["pic"]['name'];
$size=$_FILES['pic']['size'];
$type=end(explode(".",$kf));//获取图片类型
$type_arr=array("gif","GIF","jpg","JPG","png","PNG","jpeg","GPEG");
if(!in_array($type,$type_arr)){
alert("很抱歉,目前只支持gif,jpg,png格式的图片!");
}
if($size>2000000){
//is_uploaded_file(
alert('上传图片小于2000KB.');
}
$filename=date("YmdHis").rand(0,100).".".$type;//新图片的完整名称
$dir="../upfile/".$userid."/";
if(!is_dir($dir)){//路径若不存在则创建
mkdir($dir);
}
//上传
if(move_uploaded_file($_FILES['pic']['tmp_name'],$dir.$filename)){
//读取文件大小
$upsize=intval($_FILES["pic"]["size"]/1024);
if($upsize>200){
$img=$dir.$filename;
upimg($img,1400,1100,$type);
}
//复制图片
if(@copy($dir.$filename,$dir.'s_'.$filename)){
$img=$dir.'s_'.$filename;
upimg($img,200,200,$type);
}
}
/**
* $imgval 获取文件
* $newwidth 生成缩略图宽度
* $newheight 生成缩略图高度
* $typeval 图片类型
**/
function upimg($imgval,$newwidth,$newheight,$typeval){
//extFrm($imgval."+".$newwidth."+".$newheight);
$img=$imgval;//$sdir.$filename;//获取该图片
$type=$typeval;//获取文件类型
list($width,$height)=getimagesize($img);//获取该图片大小
$newimg=imagecreatetruecolor($newwidth,$newheight);
if($type=="gif" || $type=="GIF"){
$source=imagecreatefromgif($img);
}
else if($type=="jpg" || $type=="JPG" || $type=="jpeg" || $type=="JPEG"){
$source=imagecreatefromjpeg($img);
}
else if($type=="png" || $type=="PNG"){
$source=imagecreatefrompng($img);
}
imagecopyresampled($newimg,$source,0,0,0,0,$newwidth,$newheight,$width,$height);
if($type=="gif" || $type=="GIF"){
imagegif($newimg,$img);
}
else if($type=="jpg" || $type=="JPG" || $type=="jpeg" || $type=="JPEG"){
imagejpeg($newimg,$img);
}
else if($type=="png" || $type=="PNG"){
imagepng($newimg,$img);
}
}
主要是上传一个文件,然后复制一个出那个文件,并修改复制出来的那个文件
$size=$_FILES['pic']['size'];
$type=end(explode(".",$kf));//获取图片类型
$type_arr=array("gif","GIF","jpg","JPG","png","PNG","jpeg","GPEG");
if(!in_array($type,$type_arr)){
alert("很抱歉,目前只支持gif,jpg,png格式的图片!");
}
if($size>2000000){
//is_uploaded_file(
alert('上传图片小于2000KB.');
}
$filename=date("YmdHis").rand(0,100).".".$type;//新图片的完整名称
$dir="../upfile/".$userid."/";
if(!is_dir($dir)){//路径若不存在则创建
mkdir($dir);
}
//上传
if(move_uploaded_file($_FILES['pic']['tmp_name'],$dir.$filename)){
//读取文件大小
$upsize=intval($_FILES["pic"]["size"]/1024);
if($upsize>200){
$img=$dir.$filename;
upimg($img,1400,1100,$type);
}
//复制图片
if(@copy($dir.$filename,$dir.'s_'.$filename)){
$img=$dir.'s_'.$filename;
upimg($img,200,200,$type);
}
}
/**
* $imgval 获取文件
* $newwidth 生成缩略图宽度
* $newheight 生成缩略图高度
* $typeval 图片类型
**/
function upimg($imgval,$newwidth,$newheight,$typeval){
//extFrm($imgval."+".$newwidth."+".$newheight);
$img=$imgval;//$sdir.$filename;//获取该图片
$type=$typeval;//获取文件类型
list($width,$height)=getimagesize($img);//获取该图片大小
$newimg=imagecreatetruecolor($newwidth,$newheight);
if($type=="gif" || $type=="GIF"){
$source=imagecreatefromgif($img);
}
else if($type=="jpg" || $type=="JPG" || $type=="jpeg" || $type=="JPEG"){
$source=imagecreatefromjpeg($img);
}
else if($type=="png" || $type=="PNG"){
$source=imagecreatefrompng($img);
}
imagecopyresampled($newimg,$source,0,0,0,0,$newwidth,$newheight,$width,$height);
if($type=="gif" || $type=="GIF"){
imagegif($newimg,$img);
}
else if($type=="jpg" || $type=="JPG" || $type=="jpeg" || $type=="JPEG"){
imagejpeg($newimg,$img);
}
else if($type=="png" || $type=="PNG"){
imagepng($newimg,$img);
}
}
主要是上传一个文件,然后复制一个出那个文件,并修改复制出来的那个文件
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询