[英]PHP file upload not working in centos server
這些是我用於文件上傳的代碼。 在Xammp窗口中一切正常。 但是它不能在centos服務器下工作。 它將引發錯誤“無效文件”。
upload.php
<?php
$allowedExts = array("json");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "application/json"))
&& ($_FILES["file"]["size"] < 20000) && in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_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 "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("uploads/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
$dir="uploads";
if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
unlink("uploads/$entry");
}
}
closedir($handle);
}
move_uploaded_file($_FILES["file"]["tmp_name"],
$f="uploads/" . $_FILES["file"]["name"]);
chmod($f, 0777);
echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
header("Location: user.php");
}
}
}
else
{
echo "Invalid file";
}
?>
的HTML
<form action="upload.php" method="POST" enctype="multipart/form-data">
<label for="file"><span style="color:#ffffff;">Upload File:</span></label>
<input type="file" name="file" id="file">
<input class="btn btn-success btn-block" type="submit" name="submit" value="Submit">
上傳的文件為Json文件,文件大小為1.02kb。
有人請幫我解決這個問題。
使用它會起作用,
替換下面的行,
move_uploaded_file($_FILES["file"]["tmp_name"], $f="uploads/" . $_FILES["file"]["name"]);
與下面的行,
move_uploaded_file($_FILES["file"]["name"], "uploads/" . $_FILES["file"]["name"]);
並檢查您的文件夾權限,或者有任何其他疑問,請查看此信息,
如果程序流進入“無效文件”情況,則意味着:
假設您選擇一個有效的文件上傳
$_FILES["file"]["type"]
不是application/json
$_FILES["file"]["size"]
> = 20000字節 $extension
不是json
要調試,
$_FILES["file"]["type"]
$_FILES["file"]["size"]
$extension
當前沒有足夠的詳細信息來進一步診斷您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.