私はhtmlフォームを持っています。シンプルな画像アップロード機能を追加したいのですが、「next.php」という php ページに画像が送信されます。それを行う方法に関する提案はありますか?
39248 次
2 に答える
3
次のような HTML フォームを作成します。
<html>
<body>
<form action="next.php" method="post" enctype="multipart/form-data">
<label for="image">Image:</label>
<input type="image" name="image" id="image" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
「next.php」ファイルは、次のような画像を処理できます。
<?php
if ($_FILES["file"]["error"] > 0)
echo "Error: " . $_FILES["image"]["error"] . "<br />";
else
{
echo "Upload: " . $_FILES["image"]["name"] . "<br />";
echo "Type: " . $_FILES["image"]["type"] . "<br />";
echo "Size: " . ($_FILES["image"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["image"]["tmp_name"];
}
この時点で、タイプを確認し、それが jpg、gif、png、またはそのようなものであることを確認することで、より安全にすることができます。画像を 2 つまたは 3 つのサイズ (サム、ミディアム、オリジナル) にコピーし、一時ディレクトリから削除することをお勧めします。ImageMagickを使用して画像のサイズを変更し、ファイルシステム関数を使用して移動し、一時的なアップロードを削除できます。
于 2010-12-12T14:54:16.873 に答える
1
クライアント側でファイルを操作する手段を知らないinput
ので、アップロードされたファイルをサーバー側 (「next.php」スクリプト内) で検証/検証する必要がありますが、これで十分です。 :
<form action="path/to/next.php" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="picture" id="picture" />
</fieldset>
</form>
于 2010-12-12T14:53:10.007 に答える