test - upload file php github




Errore PHP-Caricamento di un file (5)

Sto cercando di scrivere del php per caricare un file in una cartella sul mio server web. Ecco cosa ho:

<?php
    if ( !empty($_FILES['file']['tmp_name']) ) {
        move_uploaded_file($_FILES['file']['tmp_name'], './' . $_FILES['file']['name']);
        header('Location: http://www.mywebsite.com/dump/');
        exit;
    }
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
    <head>
        <title>Dump Upload</title>
    </head>
    <body>
        <h1>Upload a File</h1>
        <form action="upload.php" enctype="multipart/form-data" method="post">
            <input type="hidden" name="MAX_FILE_SIZE" value="1000000000" />
            Select the File:<br /><input type="file" name="file" /><br />
            <input type="submit" value="Upload" />
        </form>
    </body>
</html>

Sto ricevendo questi errori:

Attenzione: move_uploaded_file (./ test.txt) [function.move-upload-file]: impossibile aprire lo stream: autorizzazione negata in E: \ inetpub \ vhosts \ mywebsite.com \ httpdocs \ dump \ upload.php sulla riga 3

Attenzione: move_uploaded_file () [function.move-upload-file]: impossibile spostare 'C: \ WINDOWS \ Temp \ phpA30E.tmp' in './test.txt' in E: \ inetpub \ vhosts \ mywebsite.com \ httpdocs \ dump \ upload.php sulla riga 3

Avvertenza: non è possibile modificare le informazioni dell'intestazione - intestazioni già inviate da (l'output è iniziato da E: \ inetpub \ vhosts \ mywebsite.com \ httpdocs \ dump \ upload.php: 3) in E: \ inetpub \ vhosts \ mywebsite.com \ httpdocs \ dump \ upload.php sulla riga 4

PHP versione 4.4.7 Esecuzione di IIS su una casella di Windows. Questo particolare file / cartella ha 777 permessi.

Qualche idea?


Aggiungi l'utente IIS nel gruppo di sicurezza per le cartelle di 'dump' e consenti l'accesso in lettura / scrittura.


Attenzione: move_uploaded_file () [function.move-upload-file]: impossibile spostare 'C: \ WINDOWS \ Temp \ phpA30E.tmp' in './people.xml' in E: \ inetpub \ vhosts \ mywebsite.com \ httpdocs \ dump \ upload.php sulla riga 3

è la linea importante che dice che non puoi mettere il file dove lo vuoi e questo normalmente significa un problema di permessi

controlla il processo di esecuzione dell'app (normalmente il processo webserver per php) ha il diritto di scrivere un file lì.

MODIFICARE:

aspetta un po 'ho saltato la pistola un po' il percorso del file nella prima riga è corretto?


Prova ad aggiungere un percorso. Il seguente codice funziona per me:

<?php

if ( !empty($_FILES['file']) ) {
    $from = $_FILES['file']['tmp_name'];
    $to = dirname(__FILE__).'/'.$_FILES['file']['name'];

    if( move_uploaded_file($from, $to) ){
        echo 'Success';   
    } else {
        echo 'Failure';   
    }

    header('Location: http://www.mywebsite.com/dump/');
    exit;
}
?>

Un'altra cosa da considerare è il separatore di directory, si sta utilizzando / in una finestra di Windows.


Creare una cartella denominata "immagine" con permesso di cartella 777

<?php
    move_uploaded_file($_FILES['file']['tmp_name'],"image/".$_FILES['file']['name']);
?>






upload