以前は、ユーザーがページを更新せずに動的に画像をアップロードできるように、ファイルのアップロードを実装するために ajax + php を使用していました。これにより、ユーザー エクスペリエンスが向上しました。当時、最も一般的に使用されていた方法は、iframe を使用して操作することでした。 . 実際のajax画像アップロード例を紹介します。
私は以前、主に登録フォームや送信フォームで使用される ajax + php フォーム更新検証について研究しました。 ajax テクノロジーの使用により、Web ページの訪問者の親しみやすさが大幅に向上します。 ページの親しみやすさを向上させるための最も重要なテクノロジーとして、ajax は不可欠です。 。 少ない。
もちろん、ajax はフォームの非更新検証だけでなく、ページ上の他の場所にもより適切に適用できます。今日は、ajax+ について説明します。 php を使用して画像を更新せずにアップロードします。
更新せずに写真をアップロードするテクノロジーは、一般的な QQ メールボックスの添付ファイルのアップロード、163 メールボックスの添付ファイルのアップロード、QQ スペースの写真のアップロードなど、添付ファイルや写真のアップロードによく使用されます。これらの種類のアプリケーションはすべて、Ajax 非リフレッシュ テクノロジーを使用します。現在のページではアップロードされた添付ファイルを確認できますが、通常の小規模サイトのバックグラウンドでは、商品をアップロードするときに、アップロードされた商品画像が表示されないことが多く、あまり良い結果が得られないことがよくあります。
以下は、ajax + php の非更新画像アップロードのソース コードです。これは単なる例です。この例を変更すると、Web ページに非更新画像アップロード効果を追加できます。このような効果はたくさんあるので、オンラインで検索できます。
file.php ファイル
コードは次のとおりです | コードをコピー |
$sort=12; $f_type=strto lower("swf,jpg,rar,zip,7z,iso,gif");//アップロードできるファイルの種類を設定します $file_size_max=200*1024*1024;//単一ファイルのアップロードの最大容量を制限します $overwrite = 0;//同じファイルの上書きを許可するかどうか、1: 許可、0: 許可しない $f_input="Files";//アップロードドメイン名を設定します Foreach($_FILES[$f_input]["error"] as $key => $error){ $up_error="いいえ"; If ($error == UPLOAD_ERR_OK){ $f_name=$_FILES[$f_input]['name'][$key];//アップロード元のファイル名を取得します $uploadfile=$uploaddir.strto lower(basename($f_name)); $tmp_type=substr(strrchr($f_name,"."),1);// ファイル拡張子を取得します $tmp_type=strto lower($tmp_type); If(!stristr($f_type,$tmp_type)){ echo "<script>alert('「.$tmp_type.」形式のファイルをアップロードできません。「.$f_name.」ファイルのアップロードに失敗しました!')</script>"; $up_error="はい"; If ($_FILES[$f_input]['size'][$key]>$file_size_max) { echo "<script>alert('アップロードしたファイル ".$f_name." の容量は ".round($_FILES[$f_input]<br> ['size'][$key]/1024)."Kb、指定された値より大きい".($file_size_max/1024)."Kb、アップロードに失敗しました!')</script>"; $up_error="はい"; If (file_exists($uploadfile)&&!$overwrite){ echo "<script>alert('申し訳ありません、ファイル ".$f_name." はすでに存在します。アップロードに失敗しました!')</script>"; $up_error="はい"; $string = 'abcdefghijklmnopgrstuvwxyz0123456789'; $rand = ''; ($x=0;$x $rand .= substr($string,mt_rand(0,strlen($string)-1),1); $t=date("ymdHis").substr($gettime[0],2,6).$rand; $attdir="./ファイル/"; If(!is_dir($attdir)) { mkdir($attdir);} $uploadfile=$attdir.$t.".".$tmp_type If(($up_error!="yes") および (move_uploaded_file($_FILES[$f_input]['tmp_name']) [$key]、$uploadfile))){ |