ホームページ  >  記事  >  バックエンド開発  >  従来の PHP ファイルのアップロードと Base64 ビット ファイルのアップロード

従来の PHP ファイルのアップロードと Base64 ビット ファイルのアップロード

WBOY
WBOYオリジナル
2016-07-25 08:42:191857ブラウズ

1.基礎知識

PHP のグローバル配列 $_FILES を使用すると、クライアント コンピューターからリモート サーバーにファイルをアップロードできます。

最初のパラメータはフォームの入力名で、2 番目の添え字は「name」、「type」、「size」、「tmp_name」、「error」のいずれかです。このように:

$_FILES["file"]["name"] - アップロードされたファイルの名前

$_FILES["file"]["type"] - アップロードされるファイルのタイプ

$_FILES["file"]["size"] - アップロードされたファイルのサイズ (バイト単位)

$_FILES["file"]["tmp_name"] - サーバーに保存されているファイルの一時コピーの名前

$_FILES["file"]["error"] - ファイルのアップロードによって発生したエラーコード

これはファイルをアップロードする非常に簡単な方法です。セキュリティ上の理由から、ファイルをアップロードする権限を持つユーザーに制限を追加する必要があります。

2. よく使用されるアップロード

  1. if ((($_FILES["file"]["type"] == "image/gif")
  2. || ($_FILES["file" ] ["タイプ"] == "画像/jpeg")
  3. || ($_FILES["ファイル"]["タイプ"] == "画像/pjpeg"))
  4. && ($_FILES["ファイル"][ " サイズ"] < 20000))
  5. {
  6. if ($_FILES["ファイル"]["エラー"] > 0)
  7. {
  8. echo "リターンコード: " . " ] . "
    ";
  9. }
  10. else
  11. {
  12. echo "アップロード: " . $_FILES["file"]["name"] . "
    ";
  13. echo "タイプ: " . $_FILES["file"]["type"] . "
    ";
  14. echo "サイズ: " . ($_FILES["file"]["size"] / 1024) . " Kb
    ";
  15. echo "一時ファイル: " . $_FILES["file"]["tmp_name"] "
    ";
  16. if (file_exists("upload/" . $ _FILES["ファイル"]["名前"]))
  17. {
  18. echo $_FILES["ファイル"]["名前"] . " すでに存在します。 ";
  19. }
  20. else
  21. {
  22. move_uploaded_file($_FILES["ファイル "]["tmp_name"],
  23. "upload/" . $_FILES["file"]["name"]);
  24. echo "保存場所: " . "upload/" . $_FILES["file"][ " name"];
  25. }
  26. }
  27. }
  28. else
  29. {
  30. echo "無効なファイル";
  31. }
  32. ?>

コードをコピー

3. PHP は、base64 でエンコードされた画像コンテンツを読み取り、保存します

  1. if($_POST['submit']){
  2. $image_info = getimagesize($_FILES['file']['tmp_name '] );//$_FILES['file']['tmp_name'] はファイルパスです
  3. $base64_image_content = "data:{$image_info['mime']};base64," . 'file']['tmp_name'])));
  4. echo $base64_image_content;die
  5. if (preg_match('/^(data:s*image/(w+);base64,)/', $base64_image_content, $ result; )){
  6. $type = $result[2];
  7. $new_file = "./test.{$type}";
  8. if (file_put_contents($new_file,base64_decode(str_replace($result[1], '', $ base64_image_content)))){
  9. echo '新しいファイルが正常に保存されました:', $new_file;
  10. }
  11. }
  12. }
  13. ?>

コードをコピー


ファイルアップロード、PHP


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