PHP dosya yükleme, dosya yerel dizine hareket etmeyecektir

2 Cevap php

Yerel bir dizin içine yüklenen bir dosyayı taşırken bir sorunum var.

Aşağıdaki kodu çalıştırırken, çıkış daima "hata yükleme dosyası" olduğunu. Her zaman 'move_uploaded_media' fonksiyonu için şartını yerine görünüyor ve bu nedenle $ sonuç ayarlı değil?

Herhangi göze batan hatalar var mı?

<?php

$page_title = 'Admin | Multimedia Portfolio';

include('includes/admin_header.html');

if(isset($_POST['submitted']))
{
    $uploadDir = 'files/';

    $fileName = $_FILES['userfile']['name'];
    $tmpName = $_FILES['userfile']['tmp_name'];
    $fileSize = $_FILES['userfile']['size'];
    $fileType = $_FILES['userfile']['type'];

    $filePath = $uploadDir . $fileName;

    $result = move_uploaded_file($tmpName, $filePath);
    if (!$result) {
        echo "Error uploading file"; // Here is were the it always gets caught
        exit;
    }

    require_once('mysql_connect.php');

    if(!get_magic_quotes_gpc())
    {
        $fileName = addslashes($fileName);
        $filePath = addslashes($filePath);
    }

    $query = "INSERT INTO files (name, size, type, path ) VALUES ('$fileName', '$fileSize', '$fileType', '$filePath')";

    mysqli_query($dbc, $query) or die('Error, query failed : ' . mysql_error());

    mysqli_close($dbc);

    echo "<br>Files uploaded<br>";

    }

?>

<div id="content-wrap">

<h1>Upload Media</h1>

<div id="content">

    <form method="post" action="upload.php" encytype="multipart/form-data">

    <fieldset>

        <div class="entry">

                <label>Which media <span class="highlight">file</span> would you like to upload?</label>
                <input type="file" name="userfile" id="userfile" size="30" />

            </div>

                <fieldset id="button">
                <input type="submit" value="Register" />
                <input type="hidden" name="submitted" value="TRUE" />
            </fieldset>

        </fieldset>

    </form>

</div>

</div>

<?php

include('includes/admin_footer.html');

?>

2 Cevap

Emin orada daha fazla olduğunu, ancak <form> in encytype yerine enctype sahip değilse.

Ayrıca, bir is_uploaded_file() sadece emin olmak için, geçici bir dosya kontrol gerçekleştirmek isteyebilirsiniz ...