我想从浏览器窗口将图像上传到我的服务器。但是,上传字段对每个人都是可见的,所以我需要设置一些限制。我只找到了 w3schools 文件上传(从 w3fools.com 开始,我不相信它)。我希望限制是:
最大尺寸 2,5M
图像类型 jpg、jpeg、png、gif
所以这是 w3schools 提供的代码,但它实际上不会将文件保存在任何地方?我已经对其进行了一些修改以满足我的需要。
<?php
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/jpeg"))
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 2500000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
}
else
{
echo "Invalid file";
}
?>
由于我不希望我的网站被黑客入侵,我想要一个安全的解决方案,对此有什么帮助吗?
编辑
代码甚至什么都不做。那么我该怎么做呢?