Я просто пытаюсь загрузить файл, и ничего не работает.Почему мой файл не загружается?
<!DOCTYPE html>
<html><body>
<form id="exp" enctype = "multipart/form-data" action="../cgi-bin/uploadPic.php">
<input type="file" id="profilePic2" name="newPic"></input> <br /><br /><br />
<input type="submit" value="Upload Pic" style="color:black;"></input>
</form>
</body></html>
Выполняется мой файл php. Пожалуйста, обратите внимание на неаккуратный код, я пытаюсь отлаживать через эхо.
<html>
<body>
<?php
$loadFile = true; // error code
$allowedExts = array("jpg","jpeg","gif","png");
$extension = end(explode(".", $_FILES["newPic"]["name"]));
$file = $_FILES["newPic"];
$picIncluded = false;
if(( ($_FILES["newPic"]["type"] == "image/gif")
|| ($_FILES["newPic"]["type"] == "image/jpeg")
|| ($_FILES["newPic"]["type"] == "image/png")
|| ($_FILES["newPic"]["type"] == "image/pjpeg"))
&& ($_FILES["newPic"]["size"] < 5000000)
&& in_array($extension, $allowedExts)){
if($_FILES["newPic"]["error"] > 0){
echo "pnl"; // error code returned to client
}
else if(file_exists("../profile-pics/" . $file["name"])){
echo "pld"; // picture loaded duplicate
} else {
$picIncluded = true;
echo "finally";
if(move_uploaded_file($file["name"]["tmp_name"],"./" . $file["name"])){
echo "Success again!";
}
$path = "../profile-pics/" . $file["name"];
}
}
if(is_uploaded_file($_FILES["newPic"]["name"]["tmp_name"])){
echo "Good news!";
}
?>
</body>
</html>
Во всяком случае, функция move_uploaded_file() возвращает ложь, так как он не может найти временный файл. is_uploaded_file() также возвращает false. Мои расширения и все правильно, но все равно безуспешно, загрузка файлов не производится. Как я могу отладить это?
У вас было достаточно прав на папку? –
Как я могу проверить? Я использую Fedora. Мой php находится в/var/www/cgi-bin /. Где будут записываться временные файлы? –
oops. Не знаю о Fedora. Кто-то может вам помочь. –