㈠ php 上傳中修改擴展名jpeg改jpg
你的filename是MemberUploads這個方法生成出來的
你不貼MemberUploads這個方法的代碼,怎麼幫你。。。
實際上,要把jpeg的圖片改為jpg格式,只是改一下後綴名而已,不需要重繪圖片
也就是說只要那個filename生成出來,路徑里邊那個文件的後綴是jpg就可以了~不需要額外的操作
也許這樣也可以。。。
$filename=MemberUploads('imgfile'.$i,'',$cfg_ml->M_ID,'image','',0,0,true);
if(false!=stripos($filename,'.jpeg')){
$filename=str_ireplace('.jpeg','.jpg',$name);
}
㈡ php有哪些常用的後綴
PHP文件的固定後綴是也只能是.php,如果隨意修改伺服器會出現不能解析的情況,如果是在Linux上,你可以使用偽靜態的方式把他改成其他的,但在創建的時候則不能這么做
㈢ php修改文件名後綴
$name=$shareInfo['name'];
$pos=strrpos($name,".");//右側查找'.'的位置
//組合條件只處理jpg/png類型的
if($pos && (substr($name,$pos+1)=="jpg" || substr($name,$pos+1)=="png")){
echo substr($name,0,$pos);
}
㈣ 如何用PHP給上傳的文件改名
上傳文件,PHP是在你的伺服器上建立臨時文件,日期肯定是當時的,名字是隨機名字,你應該把這個文件COPY到你自己的文件夾下(應該專門用一個文件夾來存放大家上傳的文件)。下面是我上傳文件的例子(部分代碼):
保存部分PHP代碼:
for ($i=1; $i<=$filecnt; $i++){
$f_image="file".$i;
$tmp_name=$HTTP_POST_FILES["$f_image"][tmp_name];
$src_name=$HTTP_POST_FILES["$f_image"][name];
$src_size=$HTTP_POST_FILES["$f_image"][size];
$note_str=$_REQUEST["note$i"];
if (!$tmp_name || !$src_name || $tmp_name=='nono') continue;
$ext=substr(strrchr($src_name,'.'),1);
$ext=strtolower($ext);
if (substr($ext,0,3)=='php' || $ext=='pl' || $ext=='cgi'){
echo "$src_name 沒有保存,因為你傳的是腳本文件,如果你不想在主機上搞破壞,請你壓縮後上傳。<br>";
continue;
}
//處理圖片文件
$imginfo=getimagesize($tmp_name);
if ($imginfo && $imginfo[0]>0){
//壓縮寬度超過800的圖片為800,10K以上的JPG圖片用30%進行壓縮
if ($imginfo[0]>800){
echo "你上傳的圖片幅面為 $imginfo[0] x $imginfo[1] ,將被壓縮到800個象素寬。<br>";
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -sample 800 -quality 80 $tmp_name $tmp_name");
} elseif($imginfo[2]==2 && $src_size>10240) system("/usr/local/bin/convert -quality 30 $tmp_name $tmp_name");
//規范化圖片文件擴展名
if ($imginfo[2]==1) $ext='gif';
elseif ($imginfo[2]==2) $ext='jpg';
elseif ($imginfo[2]==3) $ext='png';
elseif ($imginfo[2]==4) $ext='swf';
elseif ($imginfo[2]==5) $ext='psd';
elseif ($imginfo[2]==6) $ext='bmp';
elseif ($imginfo[2]==7) $ext='tiff';
elseif ($imginfo[2]==8) $ext='tiff';
//壓縮BMP、TIFF文件為JPG格式
if ($imginfo[2]==6 || $imginfo[2]==7 || $imginfo[2]==8){
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 80 $tmp_name $tmp_name.jpg");
rename("$tmp_name.jpg",$tmp_name);
$ext='jpg';
}
}
$save_name="$year_week/$save_id-$i";
if ($ext!='') $save_name.='.'.$ext;
$result="文件 $src_name 保存為 $save_name ";
if(($tmp_name,$save_name)){
$str="insert into clubfile(user,ext,note,fip,pub,fname,fsize) values('$PHP_AUTH_USER','$ext','$note_str','$ip',$pub,'$save_name',$src_size)";
mysql_query($str);
$result .= '成功。';
}
else{
$result .= '失敗!';
}
echo $result.'<br>';
上傳頁面PHP代碼:
echo <<<END
<div class=pagetitle>上傳文件</div>
<center>特別說明:上傳後<b>先</b>在其它網站鏈接的文件將被自動刪除!</center>
<script language="javascript">
var filecnt=1;
function addfile()
{
filecnt++;
document.all.item('fileinput').innerHTML = document.all.item('fileinput').innerHTML + "<br>上傳文件"+filecnt+": <input type=file name=file"+filecnt+" size=30 onBlur=setNote("+filecnt+")> 說明:<input type=text name=note"+filecnt+" size=32>";
form1.filecnt.value=filecnt;
}
function del_note_path(){
for(i=1;i<=filecnt;i++){
v=eval('document.form1.note'+i);
v.value=v.value.replace(/.*\\\\/,'');
}
}
</script>
<form name=form1 method=post enctype="multipart/form-data" action=$_SERVER[PHP_SELF]>
<input type=hidden name=job value='upload_save'>
<input type=hidden name=filecnt value=1>
<INPUT TYPE=hidden name=MAX_FILE_SIZE value=10240000>
<span id=fileinput>上傳文件1: <input type=file name=file1 size=30 onBlur=setNote(1)> 說明:<input type=text name=note1 size=32></span><br>
<input type=button onclick="javascript:addfile();" value='增加上傳文件'>(可以一次上傳多個文件)
<input type=button onclick='javascript:del_note_path();' value='刪除說明中的目錄'><br>
公開: <input type=checkbox name=pub> (選中公開以後,別人可以看見你上傳的文件) <br>
<input type=submit value="確認文件清單,立即上傳">(建議你一定寫上詳細的文件說明,因為上傳後文件將統一命名)
</form>
<a href=$PHP_SELF>返回瀏覽畫面</a>
<script language=javascript>
function setNote(i){
var s='';
eval("s=form1.file"+i+".value");
s=s.toLowerCase();
s=s.substr(s.length-4);
if (s=='.bmp') alert('嚴禁上傳BMP文件:請你用畫圖打開,另存為JPG格式再上傳');
s="if (form1.file"+i+".value!='' && form1.note"+i+".value=='') form1.note"+i+".value=form1.file"+i+".value";
eval(s);
}
</script>
</body>
</html>
END;