PHP - загрузка файла не работает - PullRequest
0 голосов
/ 23 мая 2018

Когда запускается приведенный ниже код, он просто возвращает echo "Did not move files!"; Цель состоит в том, чтобы позволить пользователям загружать файлы, просто запустите это сейчас.

account.php

<form action="includes/upload.inc.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">

upload.inc.php

<?php
if(isset($_POST['submit'])) {

$uploadsDir = '../uploads/';
$name = basename($_FILES["fileToUpload"]["name"]);
$tempName = basename($_FILES["fileToUpload"]['tmp_name']);
$error = $_FILES['fileToUpload']['error'];

if ($error > 0) {
    echo "Error: " . $error . "<br />";
} else {
    move_uploaded_file($temp_name, "$uploadsDir/$name");

    if(move_uploaded_file($temp_name, "$uploadsDir/$name")) {

        echo "Successful";
        echo "Upload: " . $name . "<br />";
        echo "Stored in: Uploads Directory!";
    } else {
        echo "Did not move files!";
    }
}
}
?>

Хост-сервер от localhost, изначально считал, что мои каталоги не имеют разрешений на rwx, в итоге я изменил все каталоги, которые используются для получения полных разрешенийлюбой пользователь.Это не изменило результат.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

У вас было 3 ошибки:

  1. Вы дважды вызывали move_uploaded_file.
  2. Вы объявили $tempName переменную, но вы использовали $temp_name в функции move_uploaded_file.
  3. Вы использовали basename при объявлении временной переменной пути к файлу.

Ваш окончательный код должен выглядеть следующим образом:

if (isset($_POST['submit'])) {
    $uploadsDir = '../uploads/';
    $name = basename($_FILES["fileToUpload"]["name"]);
    $tempName = $_FILES["fileToUpload"]['tmp_name'];
    $error = $_FILES['fileToUpload']['error'];

    if ($error > 0) {
        echo "Error: " . $error . "<br />";
    } else {
        if (move_uploaded_file($tempName, "$uploadsDir/$name")) {

            echo "Successful";
            echo "Upload: " . $name . "<br />";
            echo "Stored in: Uploads Directory!";
        } else {
            echo "Did not move files!";
        }
    }
}
0 голосов
/ 23 мая 2018
if(isset($_POST['submit'])) {

$uploadsDir = '/';
$name = ($_FILES["fileToUpload"]["name"]);
$tempName = ($_FILES["fileToUpload"]['tmp_name']);
$error = $_FILES['fileToUpload']['error'];

if ($error > 0) {
    echo "Error: " . $error . "<br />";
} else {

    if(move_uploaded_file($tempName, __DIR__.'/'.$name)) {

        echo "Successful";
        echo "Upload: " . $name . "<br />";
        echo "Stored in: Uploads Directory!";
    } else {
        echo "Did not move files!";
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...