ホームページ >バックエンド開発 >PHPチュートリアル >php と html を組み合わせて画像ファイルをサーバーにアップロードするコードを実装する

php と html を組み合わせて画像ファイルをサーバーにアップロードするコードを実装する

不言
不言オリジナル
2018-08-09 09:54:464752ブラウズ

この記事の内容は、画像ファイルをサーバーにアップロードするためのphpとhtmlを組み合わせたコードに関するもので、一定の参考価値がありますので、困っている友人は参考にしていただければ幸いです。

一.html コード

<body>
<form action="" method="post" enctype="multipart/form-data" name="upload_form">
 <label>选择图片文件</label>
 <input name="imgfile" type="file" accept="image/gif, image/jpeg"/>
  <input name="upload" type="submit" value="上传" />
</form>
</body>

二.php コード

if (isset($_FILES[&#39;imgfile&#39;]) 
&& is_uploaded_file($_FILES[&#39;imgfile&#39;][&#39;tmp_name&#39;]))
{
 $imgFile = $_FILES[&#39;imgfile&#39;];
$upErr = $imgFile[&#39;error&#39;];
if ($upErr == 0)
{
$imgType = $imgFile[&#39;type&#39;]; //文件类型。
/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/
if ($imgType == &#39;image/jpeg&#39;
|| $imgType == &#39;image/gif&#39;)
{
$imgFileName = $imgFile[&#39;name&#39;];
$imgSize = $imgFile[&#39;size&#39;];
$imgTmpFile = $imgFile[&#39;tmp_name&#39;];
/*
 将文件从临时文件夹移到上传文件夹中。
注意:upfile这个文件夹必须先创建好,不然会报错。
*/
move_uploaded_file($imgTmpFile, &#39;upfile/&#39;.$imgFileName);
/*显示上传后的文件的信息。*/
$strPrompt = sprintf("文件%s上传成功<br>"
. "文件大小: %s字节<br>"
. "<img src=&#39;upfile/%s&#39;>"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
else
{
echo "请选择jpg或gif文件,不支持其它类型的文件。";
}
}
else
{
echo "文件上传失败。<br>";
switch ($upErr)
{
case 1:
 echo "超过了php.ini中设置的上传文件大小。";
break;
case 2:
 echo "超过了MAX_FILE_SIZE选项指定的文件大小。";
break;
case 3:
 echo "文件只有部分被上传。";
break;
case 4:
 echo "文件未被上传。";
break;
case 5:
 echo "上传文件大小为0";
break;
}
}
}
else
{
}

三.php コード分析:

#$_FILES は、アップロードされたファイル情報を保存するために使用される配列変数です。

$_FILES['imgfile'] は、ファイル ドメイン名 'imgfile' のコントロールがサーバーに送信された後にアップロードされるファイルの情報を示します。

アップロードされたファイルには次の属性情報があります:

'name': クライアント上のアップロードされたファイルの名前。

'type': ファイルの MIME タイプ (「image/jpeg」など)。

'size': アップロードされたファイルのサイズ (バイト単位)。

'tmp_name': アップロードすると、アップロードされたファイルはサーバー側の一時フォルダーに保存されます。一時ファイル名は、この属性を通じて取得できます。

'error': ファイルのアップロード中のエラー コード。アップロードが成功した場合、この値は 0 になります。その他の値の意味は次のとおりです。

1: php.ini で設定したアップロード ファイル サイズを超えています。

2: MAX_FILE_SIZE オプションで指定されたファイル サイズを超えています。

3: ファイルの一部のみがアップロードされました。

4: ファイルはアップロードされませんでした。

5: アップロードされたファイルのサイズは 0 です。

コードはまず、$_FILES['imgfile'] 変数が存在するかどうかを確認し、存在する場合は、$_FILES['imgfile']['tmp_name' が指すファイルを確認します。 ]変数がuploadされている場合、error属性を判定し、属性が0の場合、アップロードされた画像を一時フォルダからupfileフォルダに移動し、アップロードされたファイル情報を表示し、アップロードされた画像を表示します。

エラー値が 0 でない場合は、アップロードが失敗したことを意味し、失敗メッセージが表示されます。

4. 完全なコード





上传图片文件

"
. "文件大小: %s字节
" . "" , $imgFileName, $imgSize, $imgFileName ); echo $strPrompt; } else { echo "请选择jpg或gif文件,不支持其它类型的文件。"; } } else { echo "文件上传失败。
"; switch ($upErr) { case 1: echo "超过了php.ini中设置的上传文件大小。"; break; case 2: echo "超过了MAX_FILE_SIZE选项指定的文件大小。"; break; case 3: echo "文件只有部分被上传。"; break; case 4: echo "文件未被上传。"; break; case 5: echo "上传文件大小为0"; break; } } } else { /*显示表单。*/ ?> <body> <form action="" method="post" enctype="multipart/form-data" name="upload_form"> <label>选择图片文件</label> <input name="imgfile" type="file" accept="image/gif, image/jpeg"/> <input name="upload" type="submit" value="上传" /> </form> </body>

おすすめ関連記事:

PHP の型制約とは何ですか? phpの型制約の紹介と使い方

phpで配列から1つの要素を削除する方法と配列から複数の要素を削除する方法のまとめ(コード付き)

以上がphp と html を組み合わせて画像ファイルをサーバーにアップロードするコードを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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