我正在尝试为我的 Web 应用程序创建一个图像上传器。我曾尝试在线搜索有关如何创建解决方案的解决方案,但没有找到任何真正的帮助。我也不确定应该使用什么词来搜索正确的结果。我确实在 W3Schools 网站 ( http://www.w3schools.com/php/php_file_upload.asp ) 上找到了一些东西,但我仍然无法将文件上传到我的服务器。不确定是什么问题,因为我按照网站上的说明进行了设置。我也发现了这个(JavaScript:上传文件),但这并不完全是我想要的。我仍然需要 php 脚本,因为图像不是我要发送到服务器的唯一内容。我还将发送其他信息以存储到我在服务器上的数据库中,例如图像名称和与图像相关的其他信息。
我正在使用的 php 脚本(我从 W3S 网站上下载下来)位于下方。我遇到的问题是,一旦我点击提交按钮,我的页面就会崩溃,或者我应该说我得到了服务器错误,但没有关于导致它的原因的信息。任何帮助将不胜感激
<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if (($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjepg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& 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"];
if (file_exists("public_hmtl/uploads/" . $_FILES["file"]["name"])) {
echo $_FILES["file"]["name"] . " already exists. ";
}
else {
move_uploaded_file($_FILES["file"]["tmp_name"], "public_hmtl/uploads/" . $_FILES["file"]["name"]);
echo "Stored in: " . "public_hmtl/uploads/" . $_FILES["file"]["name"];
}
}
}
else {
echo "Invalid file";
}
?>
这也是表单的 html。
<!DOCTYPE html> <html> <head> <title>Location details</title> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> </head> <body> <div> <form enctype="multipart/form-data" method="post" action="scripts/snap.php"> <!--<p> <input id="plat" class="plat" name="plat" type="hidden" value="" /> <input id="plon" class="plon" name="plon" type="hidden" value="" /> </p>--> <div class="row"> <label for="file">Select an image to Upload</label><br /> <input type="file" name="file" id="file" /> </div> <div id="filename"></div> <div id="fileSize"></div> <div id="fileType"></div> <div class="row"> <input type="submit" name="submit" value="Submit" /> <!--<input type="button" onclick="uploadFile()" value="Upload" />--> </div> <div id="progressNumber"></div> </form> </div>