交流
讨论:图片上传后文件名的问题
作者 gatebill 发布于 2003-09-01 分类:php基础编程
我把图片上传后,我想让它自动更改文件名,该怎么办呢?谢谢!
逛论坛交流:图片上传后文件名的问题
-
你可以用时间,也可以用随机函数
-
能给个代码吗?
谢谢!! -
下面是以上传时间随机改名的代码,仅供参考,有点乱:) [php] if($action1){ //如果文件上传,进行处理 set_time_limit(60); // 以确保较大文件上传 $path1 = dirname($PATH_TRANSLATED)."/upload/"; //输出上传路径; print $path1."
"; // 显示上传路径名 for($i=1;$i<2;$i++) { $temp1="file".$i; $temp2="file".$i."_name"; $source=$$temp1; $source_name=$$temp2; print $temp."=".$$temp."
"; print $file1_name; print $file2_name; //exit; $source = $file1; $source_name = $file1_name; print $source."
"; print $source_name; //exit; if(($source <> "none")&&($source <> "")) { // 看看文件是否存在,如果不存在文件名则为“none” if($error1 <> 1) { // 如果文件夹设置为不可写状态,就不能正常上传一个文件 $dest = $path1.$source_name; // 添加文件名到上传路径 if(copy($source,$dest)){ // 从临时文件目录中拷贝文件到上传文件目录,并检查是否成功 echo "$source 成功上传!
"; $imagesize = getimagesize($dest); //对上传文件按时间进行改名 switch($imagesize[2]) { case 0: echo "
未知图片格式
"; unlink($dest); exit; case 2: echo "
图片格式为JPG
"; echo "$dest 图片宽: $imagesize[0]
"; echo "$dest 图片高: $imagesize[1]
"; $newname = $path1; $newname .=$i.time() . ".jpg"; if(copy($dest,$newname)) { echo "
JPG 图片成功从 $dest 更名为 $newname
"; }else { echo "
JPG 图片更名成功!
"; } [/php] -
这个程序不能运行??
-
呵呵,当然直接不能运行了,这是从我的图片上传程序中抠出来的改名部分,下面是整个上传图片的处理代码,大家自己分析了(我也是抄大侠们的:),大家共享吧) [php] <? if($action1){ //如果文件上传,进行处理 set_time_limit(60); // 以确保较大文件上传 $path1 = dirname($PATH_TRANSLATED)."/upload/"; //输出上传路径; print $path1."
"; // 显示上传路径名 for($i=1;$i<2;$i++) { $temp1="file".$i; $temp2="file".$i."_name"; $source=$$temp1; $source_name=$$temp2; print $temp."=".$$temp."
"; print $file1_name; print $file2_name; //exit; $source = $file1; $source_name = $file1_name; print $source."
"; print $source_name; //exit; if(($source <> "none")&&($source <> "")) { // 看看文件是否存在,如果不存在文件名则为“none” if($error1 <> 1) { // 如果文件夹设置为不可写状态,就不能正常上传一个文件 $dest = $path1.$source_name; // 添加文件名到上传路径 if(copy($source,$dest)){ // 从临时文件目录中拷贝文件到上传文件目录,并检查是否成功 echo "$source 成功上传!
"; $imagesize = getimagesize($dest); //对上传文件按时间进行改名 switch($imagesize[2]) { case 0: echo "
未知图片格式
"; unlink($dest); exit; case 2: echo "
图片格式为JPG
"; echo "$dest 图片宽: $imagesize[0]
"; echo "$dest 图片高: $imagesize[1]
"; $newname = $path1; $newname .=$i.time() . ".jpg"; if(copy($dest,$newname)) { echo "
JPG 图片成功从 $dest 更名为 $newname
"; }else { echo "
JPG 图片更名成功!
"; } /******以下为生成缩略图源代码******/ // 本函数从源文件取出图象,设定成指定大小,并输出到目的文件 // 源文件格式:gif,jpg,,png // 目的文件格式:jpg // $newname: 源文件 // $dstFile: 目标文件 // $dstW: 目标图片宽度 // $dstH: 目标文件高度 //show($dest); //$aaa ="E:Inetpubwwwrootgetlansupload11056882714.jpg"; //$bbb ="E:Inetpubwwwrootgetlansuploadbb.jpg"; $dstfile = $path1; $dstfile .= time()."small".".jpg"; function makethumb($newname,$dstfile,$dstW,$dstH){ $data = GetImageSize($newname); switch ($data[2]){ case 1: $im = ImageCreateFromGIF($newname); break; case 2: $im = ImageCreateFromJPEG($newname); break; case 3: $im = ImageCreateFromPNG($newname); break; } $srcW=ImageSX($im); $srcH=ImageSY($im); $newim = ImageCreateTrueColor($dstW,$dstH); ImageCopyResized($newim,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH); ImageJpeg($newim,$dstfile); // 如果需要输出到浏览器,那么将上一句改为ImageJpeg($ni); // 如果需要其它格式的图片,改动最后一句就可以了 } //end function $dstW = 115; $dstH = 66; MakeThumb($dest,$dstfile,$dstW,$dstH); echo "能否正常显示: $dstfile"; ?><? /******以上为生成缩略图源代码******/ } unlink ($dest); } unlink($source); // 从临时上传目录中删除临时文件 echo "这次上传的文件是 $newname
"; } ?><? } ?> <? //**********************(此处省略写入数据库代码)*************************// } //end for ?>
返回上传单帧图片页面


10 条回复
回复