2013-06-03 32 views
6

Vedi, fornisco agli utenti del mio sito Web la possibilità di caricare i propri file PHP/HTML/TXT nel mio server, giusto? ... Ma voglio ottenere quel contenuto di file senza salvarlo nel mio server e salvare il contenuto in una stringa, o qualsiasi altra cosa.Ottieni il contenuto del file caricato dall'utente prima di salvare

È possibile farlo? ... In caso contrario, cosa devo fare per ottenere il contenuto dopo aver salvato il file nel mio server? ... per favore aiutatemi!

Non so se questo può essere d'aiuto, ma questo è il codice che uso per caricare i file dell'utente.

$allowedExts = array("php", "html", "txt"); 
$tmp = explode(".", $_FILES["file"]["name"]); 
$extension = end($tmp); 

if 
((($_FILES["file"]["type"] == "application/octet-stream") 
|| ($_FILES["file"]["type"] == "text/php") 
|| ($_FILES["file"]["type"] == "text/html") 
|| ($_FILES["file"]["type"] == "text/plain")) 
&& ($_FILES["file"]["size"] < 50000) && in_array($extension, $allowedExts)) 
{ 
    if ($_FILES["file"]["error"] > 0) 
    { 
     echo "Error: " . $_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 "Stored in: " . $_FILES["file"]["tmp_name"]; 
    } 
} 
else 
{ 
    echo "Invalid file"; 
} 

risposta

11

Usa file_get_contents() per questo:

echo "Upload: " . $_FILES["file"]["name"] . "<br>"; 
echo "Type: " . $_FILES["file"]["type"] . "<br>"; 
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kB<br>"; 
echo "Stored in: " . $_FILES["file"]["tmp_name"]; 

// store file content as a string in $str 
$str = file_get_contents($_FILES["file"]["tmp_name"]); 

Si noti che se è necessario il file per un utilizzo successivo anche allora dovrete copiarla in una posizione di destinazione in aggiunta. Come questo:

move_uploaded_file($_FILES["file"]["tmp_name"], 'contents/' . $_FILE['name']); 
+0

questo. Questo è quello di cui avevo bisogno. Grazie signore (-: – Jerome

+0

nessun problema;) .. – hek2mgl

Problemi correlati