ホームページ >バックエンド開発 >PHPチュートリアル >PHP は画像のアップロードと置換操作を実装します。_PHP チュートリアル
最初に2つのファイルを作成します:change.htmlとchange.php
change.html ファイルのフォーム コードは次のとおりです:
リーリーここで注意すべき点がいくつかあります。まず、この文を見てくださいここでは使用します。 POST メソッド (個別) ブラウザは PUT メソッドもサポートしていますが、もちろん、これにはスクリプトの変更が必要です。これはお勧めしません。アップロードされたファイルに通常のフォーム情報が含まれていることをサーバーが認識できるように、enctype="multipart/form-data" をフォームに設定する必要があります。また、これを制限するには隠しフィールドも必要です。アップロードされるファイルの最大長: , ここでの名前は MAX_FILE_SIZE に設定する必要があり、その値はアップロードされるファイルの最大長です。ファイルの単位は B です。ここでは、この文をもう一度見てください: 、type="file" は、これで、基本的なファイル アップロード インターフェイスが完成しました。次に、PHP を使用してアップロードされたファイルを処理する方法について説明します。また、php.ini で設定されたアップロード ファイルの最大長は、実際のアップロードに影響を与える可能性があります。さらに、PHP アップロードは最初に一時ディレクトリにアップロードされ、指定されたディレクトリに移動した後、必要に応じて一時ディレクトリを変更することも、デフォルト値を使用することもできます。 以下はフォーム送信のchange.phpファイルのコードです。このファイルの内容を見てみましょう。 リーリー
初めて読むときは少しめまいがするかもしれません~~ でも、ゆっくり見てみると、これが実際にはとても簡単であることがわかります! !まず原理について説明します。このプログラムは、ファイルの種類が画像形式であるかどうかを判断し、指定されたファイルを置き換えます。アップロードが成功すると、アップロードされた画像のプレビューが出力されます。ここでは、プログラム内のいくつかの関数について説明します。まずsubstr(strrchr($newfile, '.'), 1) を見てみましょう。
strrchar() 関数の役割は何ですか? たとえば、画像ファイル pic について説明します。 .jpg の場合、strrcchar() を使用して処理します。strrchr(pic.jpg,'.') を実行すると、.jpg が返されます。この関数は、文字列内で指定された文字が最後に出現した後の文字列を返します。 substr() を使用すると、jpg を取得できるため、ファイル拡張子を取得して、アップロードされたファイルが指定された形式に準拠しているかどうかを判断できます。このプログラムは、指定された形式を配列に配置し、実際の使用中に必要に応じて追加できます。
次に、関数を呼び出してファイル タイプを決定し、それを小文字に変換します strto lower($_FILES['file']['name']), ここに非常に重要な点があります $_FILES はスーパー グローバル配列ですregister_globals がオンになっている場合は、処理する必要のあるフォーム データを保存することもできますが、これは安全ではありません。アップロード インターフェース name="file" type="file"> を見てください。このフォーム名に基づいて、多くの情報を取得できます:
$_FILES['file']['name']-- ファイル名を取得します
$_FILES['file']['tmp_name'] -- 一時的な保存場所を取得します
$_FILES['file']['size'] -- ファイル サイズを取得します
$_FILES['file']['type'] -- ファイルの MIME タイプを取得します
この情報を取得すると、ファイルの情報を簡単に確認できるようになり、とても便利ですよね。 ^_^、次に理解する必要がある関数がいくつかあります。file_exists() -- 指定されたディレクトリが存在するかどうかを確認します。存在しない場合は、もちろんアップロードできません (ナンセンスのようです!)、is_uploaded_file --。ファイルが HTTP POST 経由でアップロードされたかどうかを確認します。 move_uploaded_file -- アップロードされたファイルを指定されたディレクトリに移動します。アップロードが成功した場合はプレビューが出力され、そうでない場合は出力のアップロードは失敗します...
内容はとても詳しく、皆さんがじっくり勉強できるようプロセスも記録されていますので、皆さんの学習に役立てていただければ幸いです。
興味がありそうな記事: