ホームページ >バックエンド開発 >PHPチュートリアル >PHPでの画像アップロード操作

PHPでの画像アップロード操作

WBOY
WBOYオリジナル
2016-06-23 13:03:331112ブラウズ

フロントエンドプログラミングでは、閲覧者が特定の画像をアップロードできるようにする必要がある場合があります。この機能は PHP を通じて実装できます。

1. 写真を保存するフォルダーを作成します

ここでは、ユーザーがアップロードした写真を保存するフォルダー「ファイル」を作成します。この時点では、フォルダーの作成アドレスは選択できます。便利な場所に作成するのが最善です。

2. HTML部分(uploadfile.html)を作成します

ここではHTMLのform formタグとフォーム内の

    3525558f8f338d4ea90ebf22e5cde2bcを使用して画像ファイルを選択します
  • a1eb4c6d714932c29fdf34339464d779 画像関連情報を送信します
コードは次のとおりです:

<!DOCTYPE html><html> <head>  <meta charset="UTF-8">  <title></title> </head> <body>   <form action="uploadHandler.php" method="post" enctype="multipart/form-data">   Upload Img:<input type="file" name="img"/>   <input type="submit" value="Upload"/>  </form> </body></html>

注: 1. フォーム内のアクションは、後で作成される .php ファイルに接続されます。画像のアップロードを処理します。 2. form の属性に Enctype="multipart/form-data" を記載する必要があります。 enctype 属性は、フォーム データをサーバーに送信する前にエンコードする方法を指定します。 multipart/form-data は文字をエンコードしません。この値は、ファイル アップロード コントロールを備えたフォームを使用する場合に必要です。 3. ここではpostメソッドを使用しています。

3. PHP 部分 (uploadHandler.php) を作成します

1. 原理

php ファイルを作成し、

<?php var_dump($_FILES);  ?>

と入力するだけで、対応する配列 arr(1) に出力します。 arr(1) の配列構造は次のとおりです。

array(1) {  ["img"]=> array(5) {   ["name"]=> string(**) "AAAAAAA.jpg" // 图片名  ["type"]=> string(10) "image/jpeg" // 图片格式  ["tmp_name"]=> string(45) "/Applications/XAMPP/xamppfiles/temp/phpVZQY0m" // 图片缓存地址  ["error"]=> int(0) // 上传图片错误数  ["size"]=> int(124246) // 图片大小 } }

- 配列配列の下に要素 ["img"] があり、["img"] の下に 2 次元配列があります。この 2 次元配列には 5 つの要素があります。 、それぞれ:名前/タイプ/tmp_name/エラー/サイズ。これらの属性を通じて、画像の基本情報を取得します。次のステップでは、これらの基本属性を判断して画像をフォルダーに保存します。

2. 実際の操作

以下の判断をします:

    error [Yes]: Prompt error ❌
  • error [None]: Next step✅ ╙type[non-img]: Prompt error ❌ ╙type[ img]: 次のステップ ✅ ╙type [non-jpeg]: プロンプトエラー ❌ ╙type[jpeg]: 次のステップ ✅
上記の判断が満たされる場合、この写真はできると思います保存されました。画像名の重複を避けるために、タイムスタンプの概念を使用して画像を新しいファイル名につなぎ合わせ、各画像の名前が一意になるようにします。

そして、配列を作成できます。配列内の要素はさまざまな画像形式であり、ファイルの画像形式と配列内の要素を比較します。認識できない画像形式は保存されません。

コードは次のとおりです:

rrree

4. 写真をアップロードします

この時点で、すべてが要件を満たしていれば、アップロードした写真はファイルフォルダーに保存されます。アップロードが成功しました!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。