我有一个HTML表单。我想为它添加一个简单的图像上传功能,它将把图像发送到名为“next.php”的php页面。有关如何做的任何建议吗?
答案 0 :(得分: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调整图片大小,然后使用filesystem函数移动并删除临时上传。
答案 1 :(得分: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>