我有一个 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 回答