phpでの画像アップロードの原理分析
PHP プログラミングでは、PHP による画像のアップロードに関する問題が常に発生します。
PHP で画像をアップロードする原則: まず、ファイルの種類が画像形式であるかどうかを判断し、画像形式である場合は、ファイルをアップロードし、次にファイルの名前を変更し、指定されたディレクトリにファイルをアップロードして、プレビューを出力します。アップロードが成功した後のアップロードされた画像。
1. まず、ファイルの種類が画像の種類であるかどうかを判断するために使用される関数です。
{ strrchr:查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。 substr: 取部份字符串。 $HTTP_POST_FILES['file']['name']:获取当前上传的文件全称。 }
<? function type() { return substr(strrchr($HTTP_POST_FILES['file']['name'],'.'),1); } ?>
if(!in_arry(strtolower(type()),$type))//如果不存在能上传的类型 { $text=implode('.',$type); echo "您只能上传以下类型文件: ",$text,"<br>"; }
else { $filename=explode(".",$_FILES['userfile']['name']);//把上传的文件名以“.”好为准做一个数组。 $time=date("m-d-H-i-s");//去当前上传的时间 $filename[0]=$time;//取文件名t替换 name=implode(".",$filename); //上传后的文件名 $uploadfile=$uploaddir.$name;//上传后的文件名地址 }
{ move_uploaded_file:执行上传文件 } if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)) { echo "<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>"; echo"<br><center><a href='javascrīpt:history.go(-1)'>继续上传</a></center>"; } else { echo"传输失败!"; }