ホームページ  >  記事  >  バックエンド開発  >  phpアップロードファイル

phpアップロードファイル

WBOY
WBOYオリジナル
2016-06-23 14:30:40900ブラウズ

ファイル アップロード フォームの作成

は、ユーザーがフォームからファイルをアップロードできるようにするのに非常に便利です。

ファイルのアップロードについては、次の HTML フォームを参照してください:

< body >

< -data" >
< label for ="file" >ファイル名:
< input type ="file" name ="file" id ="file" />
< br /> 入力タイプ ="送信" 名前 ="送信" />
>このフォームについては、次の点に注意してください。

タグの enctype 属性は、フォームを送信するときに使用するコンテンツ タイプを指定します。フォームにファイル コンテンツなどのバイナリ データが必要な場合は、「multipart/form-data」を使用します。

タグの type="file" 属性は、入力をファイルとして処理することを指定します。たとえば、ブラウザでプレビューすると、入力ボックスの横に参照ボタンが表示されます。

注: ユーザーにファイルのアップロードを許可すると、セキュリティ上の大きなリスクが生じます。信頼できるユーザーのみにファイルのアップロード操作を許可してください。

アップロード スクリプトを作成します

"upload_file.php" ファイルには、ファイルをアップロードするためのコードが含まれています:

if ( $_FILES["file"]["error"] > 0)

{

echo "エラー: " . $_FILES["ファイル"]["エラー"] . "
";

else

{

echo "アップロード: " . $_FILES["ファイル"][ "名前 "] . "
";

echo "タイプ: " . $_FILES["ファイル"]["タイプ"]

エコー "サイズ: " . ( $ _FILES["file"]["size"] / 1024) . " Kb
";

echo "保存場所: " . $_FILES["file"]["tmp_name"]; ?> ;


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"] - ファイルのアップロードによって発生するエラー コード
これは、ファイルをアップロードする非常に簡単な方法です。セキュリティ上の理由から、ファイルをアップロードする権限を持つユーザーに制限を追加する必要があります。


アップロード制限
このスクリプトでは、ファイルのアップロードに制限を追加します。ユーザーは .gif または .jpeg ファイルのみをアップロードでき、ファイル サイズは 20 kb 未満である必要があります:


if ((( $_FILES["file"]["type"] == "image/gif")
|| ( $_FILES["file"]["type"] == "画像/jpeg")
|| ( $_FILES["ファイル"]["タイプ"] == "画像/pjpeg"))
&&( $_FILES["ファイル"]["サイズ"] < 20000) )
{
if ( $_FILES["file"]["error"] > 0)
{
echo "エラー: " 。  $_FILES["ファイル"]["エラー"] 。 "
";
}
else
{
echo 「アップロード: 」 。  $_FILES["ファイル"]["名前"] 。 "
";
echo 「タイプ:」 。  $_FILES["ファイル"]["タイプ"] 。 "
";
「サイズ:」をエコーし​​ます。 ( $_FILES["ファイル"]["サイズ"] / 1024) 。 " Kb
";
echo 「保存場所: 」。  $_FILES["ファイル"]["tmp_name"];
}
}
else
{
echo "無効なファイル";
}

?>

注釈: IE の場合、jpg ファイルの種類は pjpeg である必要があり、FireFox の場合は jpeg である必要があります。

上に転送されているファイルの例をサーバーの PHP 一時ファイルに保存します。上に転送されたファイルが作成されました

この一時的なファイルは、スクリプトの終了時に失われる可能性があります。 上に転送されたファイルを保存するには、別の場所に保存する必要があります:

if ((( $_FILES["file"]["type"] == "image/gif")
|| ( $_FILES["file"]["type"] == " image/jpeg")
|| ( $_FILES["file"]["type"] == "image/pjpeg"))
&& ( $_FILES["file"]["size"] < 20000))
{
if ( $_FILES["file"]["error"] > 0)
{
echo "リターンコード: " 。  $_FILES["ファイル"]["エラー"] 。 "
";
}
else
{
echo 「アップロード: 」 。  $_FILES["ファイル"]["名前"] 。 "
";
echo 「タイプ:」 。  $_FILES["ファイル"]["タイプ"] 。 "
";
「サイズ:」をエコーし​​ます。 ( $_FILES["ファイル"]["サイズ"] / 1024) 。 " Kb
";
echo 「一時ファイル:」  $_FILES["ファイル"]["tmp_name"] 。 "
";

if ( file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] 。 " もう存在している。 ";
}
else
{
move_uploaded_file( $_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo 「保存場所:」 "アップロード/" 。  $_FILES["ファイル"]["名前"];
}
}
}
else
{
echo "無効なファイル";
}
?>

上のスクリプトでは、このファイルが存在するかどうかが検査され、存在しない場合は、指定されたファイルにファイルが保存されます。


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