ホームページ  >  記事  >  バックエンド開発  >  PHP ファイルアップロードモジュールの実装_PHP チュートリアル

PHP ファイルアップロードモジュールの実装_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:10:06897ブラウズ

まず、LAMP が正常に設定されていることを確認します。

環境: Opensuse12.2 LAMP

今日実装するのは、PHP のファイル アップロード モジュールで、例として写真と PDF ドキュメントのアップロードを取り上げます。

手順は次のとおりです:

php.iniを変更する

Linux の /etc/php5/apache2 フォルダーに php.ini を配置し、ターミナルで実行します

[プレーン]
sudo vim /etc/php5/apache2/php.ini

sudo vim /etc/php5/apache2/php.ini


「/×××」を使用して vim で次の値を見つけて変更します:

upload_max_filesize = 10M


このオプションは、アップロードされるファイルの最大バイト長を示します。デフォルトは 2M、10M に変更されました

post_max_size = 12M

このオプションは、POST データに許可される最大バイト長を表します。デフォルトは 8M であり、upload_max_filesize よりもわずかに大きい値を設定することをお勧めします。


デフォルトのmemory_limitは128Mです。アップロードするファイルのサイズがこの値を超える場合は、変更する必要はありません。

変更後保存します。


プロジェクトを作成する

/srv/www/htdocs/ に test2 フォルダーを作成し、その中に、upload.html、upload_file.php という 2 つのファイルを作成します。また、アップロードされたファイルを保存するためのアップロード フォルダーも作成します。

まずアップロードフォルダーを処理し、その権限を変更します。

ターミナル実行:


【プレーン】
sudo chmod 777 アップロード -R

sudo chmod 777 アップロード -R

以下はコードのリストです。

upload.html

[html]


<フォームアクション="upload_file.php" メソッド="投稿"
enctype="multipart/form-data">





<フォーム アクション="upload_file.php" メソッド="投稿"
enctype="multipart/form-data">





アップロードファイル.php


[php]

if(($_FILES["ファイル"]["タイプ"] == "画像/png")||($_FILES["ファイル"]["タイプ"] == "アプリケーション/pdf"))

{
if ($_FILES["ファイル"]["エラー"] > 0)
{

echo "リターンコード: " . $_FILES["ファイル"]["エラー"] "
"; }

それ以外は
{
echo "アップロード: " . $_FILES["ファイル"]["名前"] "
"; echo "タイプ: " . $_FILES["ファイル"]["タイプ"] "
"; echo "サイズ: " . ($_FILES["ファイル"]["サイズ"] / 1024) " Kb
"; echo "一時ファイル: " . $_FILES["ファイル"]["tmp_name"] "
";
If (file_exists("upload/" . $_FILES["file"]["name"]))
                                                              echo $_FILES["ファイル"]["名前"] . " すでに存在します。 "; }
それ以外は
                                                              Move_uploaded_file($_FILES["ファイル"]["tmp_name"],
"アップロード/" . $_FILES["ファイル"]["名前"]); echo "保存場所: " . "upload/" . $_FILES["ファイル"]["名前"]; }
}
}
それ以外は
{
「無効なファイル」をエコーし​​ます
}
?>

if(($_FILES["ファイル"]["タイプ"] == "画像/png")||($_FILES["ファイル"]["タイプ"] == "アプリケーション/pdf"))
  {
  if ($_FILES["ファイル"]["エラー"] > 0)
    {
    echo "リターンコード: " 。 $_FILES["ファイル"]["エラー"] 。 "
";
    }
  それ以外
    {
    echo "アップロード: " 。 $_FILES["ファイル"]["名前"] 。 "
";
    echo "タイプ: " 。 $_FILES["ファイル"]["タイプ"] 。 "
";
    echo "サイズ: " 。 ($_FILES["ファイル"]["サイズ"] / 1024) 。 " Kb
";
    echo "一時ファイル: " 。 $_FILES["ファイル"]["tmp_name"] 。 "
";

if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["ファイル"]["名前"] 。 「すでに存在します。」;
      }
    それ以外
      {
      move_uploaded_file($_FILES["ファイル"]["tmp_name"],
      "アップロード/" 。 $_FILES["ファイル"]["名前"]);
      echo "保存場所: " 。 "アップロード/" 。 $_FILES["ファイル"]["名前"];
      }
    }
  }
それ以外
  {
  echo "無効なファイル";
  }
?>
簡単に説明します。

html ファイルは、ユーザーとのやり取りを処理するために使用される形式であり、そのようなものとして実行されます。

良いファイルを選択し、ポイントを送信した後、後台の処理がphpを完了します。

php は、ファイル全体のプロパティを取得し、それに対応する処理を実行します。 $_FILES["file"]["error"] 中放的是出错代码,对应的错误如下:

编码

 值

 说明
 
アップロード_エラー_OK
 0
 文件成功上传
 
UPLOAD_ERR_INI_SIZE
 1
 文件大小比php.ini中upload_max_filesize指定值要大
 
UPLOAD_ERR_FORM_SIZE
 2
 ファイルの小比表单のMAX_FILE_SIZE指定の值大
 
アップロード_エラー_部分
 3
 文件上传不完整(请求時間间过长被终止の可能性あり)
 
UPLOAD_ERR_NO_FILE
 4
 無文件付随请求上传
 
UPLOAD_ERR_NO_TMP_DIR
 6
 php.ini 内に指定された時間無しの文書夹


 


ファイルを上に送信すると、アップロード中に上に送信されたファイルを閲覧できるようになります。

ここまでは多くの違いがありましたが、拡張することもできます。たとえば、上方のファイルを転送するときにレベルストリップを表示したり、上方のファイルを転送すると同時に入力データを書き込んでから、ファイルをトップページに表示したり、以下に名前を付けることができます。

時間の関係で、ここに到着しました。

http://www.bkjia.com/PHPjc/477552.html

www.bkjia.com

本当

技術記事まず、LAMP が正常に構成されたことを確認します。 環境:Opensuse12.2 LAMP 今すぐ実行されるのは、php のファイル上転送モジュールであり、上記の図片と pdf ファイルが例です。 手順は次のとおりです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。