2

ファイルのアップロードを含む PHP スクリプトへの HTTP POST が必要です。PHP スクリプトは、適切なタイプでないファイルや不正な形式のファイルを拒否する必要があります。

これの意味は

  1. アップロードが完了する前に PHP スクリプトが実行を開始し、
  2. ファイルの最初の X バイトを読み取り、
  3. アップロードが完了する前に接続を中止する可能性があります。

これらのそれぞれをどのように行うのですか?

4

2 に答える 2

3

PHP はアップロードを中止できません。$_FILESただし、ファイルが完全にアップロードされた後に検証できます。

この機能により、ユーザーはテキスト ファイルとバイナリ ファイルの両方をアップロードできます。PHP の認証機能とファイル操作機能を使用すると、誰がアップロードを許可され、アップロードされたファイルに対して何を行うかを完全に制御できます。

見る:

http://php.net/manual/en/features.file-upload.post-method.php

php.ini でファイルサイズを制限できます

upload_max_filesize 整数

アップロードされたファイルの最大サイズ。整数を使用する場合、値はバイト単位で測定されます。この FAQ で説明されているように、簡略表記も使用できます。

http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize

于 2012-08-11T21:18:48.613 に答える
0

これはあなたが得ることができる最大のものです。

<?php
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>
于 2012-08-11T21:20:15.043 に答える