php で画像ファイルをアップロードして を置き換える方法。まず、change.html と change.php change.html の 2 つのファイルを作成します。ファイルのフォーム コードは次のとおりです。 変更ファイルの例。 < /head> ファイル: table> ここで注意すべき点がいくつかあります。まず、この文を見てください。 🎜>, ここでは POST メソッドを使用します。一部のブラウザーは、もちろん、これにはスクリプトを変更する必要がありますが、これはお勧めしません。 enctype="multipart/form-data は、アップロードされたファイルに通常のフォーム情報が含まれていることをサーバーが認識できるように、フォームに設定する必要があります。これは設定する必要があることに注意してください。さらに、隠しフィールドが必要ですアップロードを制限するには ファイルの最大長: 、name は MAX_FILE_SIZE 、その値はアップロードされたファイルの最大長です。単位は B です。ここでは 2M に制限しています。、type="file" でファイルの種類を指定します。このようにして、基本的なファイルアップロードインターフェイスが完成します。次に、PHP の使用方法について説明します。また、アップロードされたファイルの最大長は実際のアップロードに影響する可能性があります。また、PHP アップロードは最初に一時ディレクトリにアップロードされます。一時ディレクトリは必要に応じて変更することも、デフォルト値を使用することもできます...以下はフォーム送信のchange.phpファイルのコードです。このファイルの内容を見てみましょう。 header("content-type: text/html;charset=utf-8"); /** * @param string $oldfile 置換する必要があるファイル名 (特定のパス名を含む) */ function changeFile($oldfile){ $newfile = $_FILES ['file']['name'];//アップロードされたファイル名を取得します $fileclass = substr(strrchr($newfile , '.'), 1);//アップロードされたファイルの拡張子を取得して判定 $type = array("jpg", "gif", "bmp", "jpeg", "png");//設定アップロードが許可されているファイルのタイプ if(in_array(strto lower($fileclass), $ type)){ if(file_exists($oldfile)){ unlink($oldfile); } if(is_uploaded_file($_FILES['file']['tmp_name' ])){//PHP の HTTP POST アップロード メカニズムを通じてアップロードする必要があります if(move_uploaded_file($_FILES['file' ]['tmp_name'], $oldfile)){ //出力画像プレビュー echo "ファイルがアップロードされました。アップロード画像プレビュー: < center>"; } }else{ echo "アップロードに失敗しました。ファイルは 2M を超えています。アップロードしてください。もう一度アップロードしてください! "; } }else{ $text = implode(",", $type); echo "次の種類のfiles: ", $text, ""; // echo "alert('次の種類のファイルのみアップロードできます: $text')</ script>"; <br> }<br> }<br><br>changeFile("./files/1.png");<br><p><span>初めて読むときは少しめまいがするかもしれません~~ でも、ゆっくり見てみると、これが実際にはとても簡単であることがわかります。 !まず原理について説明します。このプログラムは、ファイルの種類が画像形式であるかどうかを判断し、指定されたファイルを置き換えます。アップロードが成功すると、アップロードされた画像のプレビューが出力されます。ここでは、プログラム内のいくつかの関数について説明します。まず、<span style="color: #ff0000;">substr(strrchr($newfile, '.'), 1)</span> を見てみましょう。 strrchar() 関数の役割を例に挙げてみましょう。 pic.jpg、strrcchar() ハンドルを使用します、strrchr(pic.jpg,'.')、これは .jpg を返します、わかりますか?この関数は、</span><span style="text-decoration: underline;"><strong><span style="color: #333333;"> 文字列</span></strong></span><span style="font-size: small;"><span style="font-family: 宋体;"><span> が最後に出現した後の文字列を返します。 substr() を使用すると、jpg を取得できるため、ファイル拡張子を取得して、アップロードされたファイルが指定された形式に準拠しているかどうかを判断できます。このプログラムは、指定された形式を配列に配置し、実際の使用中に必要に応じて追加できます。 <br><span style="color: #ff0000;"><span style="color: #000000;">次に、関数を呼び出してファイルの種類を特定し、それを小文字の <span style="color: #ff0000;">strto lower($_FILES['file']['name'])<span style="color: #000000;"> に変換します。これは次のとおりです。非常に重要なこと $_FILES は、処理する必要があるフォーム データを保存するスーパー グローバル配列です。 register_globals がオンになっている場合は、直接アクセスすることもできますが、これは安全ではありません。今アップロード インターフェイスを見てください </span></span></span></span><input <span style="color: #ff0000;">name="file" </span>type="file"> このフォーム名に基づいて、次の結果を取得できます。多くの情報: <br>$_FILES[<span style="color: #ff0000;">'file'</span>]['name']-- ファイル名を取得します<br>$_FILES[<span style="color: #ff0000;">'file'</span>][' tmp_name'] -- 一時保存場所の取得<br>$_FILES[<span style="color: #ff0000;">'file'</span>]['size'] -- ファイル サイズの取得<br>$_FILES[<span style="color: #ff0000;">'file'</span> ]['type'] -- ファイルの MIME タイプを取得します<br>この情報を取得すると、ファイルの情報を簡単に判断できます。とても便利ですよね。 ^_^、次に理解する必要のある関数がいくつかあります。</span><span style="color: #ff0000;"><span>file_exists()</span><span style="color: #000000;"><span> -- 指定されたディレクトリが存在するかどうかを確認します (存在しない場合)。もちろん、アップロードすることはできません (ナンセンスのようです!)、is_uploaded_file -- ファイルが HTTP POST 経由でアップロードされたかどうかを判断し、<span style="color: #ff0000;">move_uploaded_file</span> -- アップロードされたファイルを指定されたディレクトリ </span> に移動します。アップロードが成功した場合はプレビューが出力され、そうでない場合は出力アップロードは失敗します...</span></span></span></span></p> <p> </p> <div class="clear"></div>