2013-06-03 2 views
6

См., Я предоставляю пользователям моего сайта возможность загрузить свои собственные файлы PHP/HTML/TXT на свой сервер, правильно? ... Но я хочу получить содержимое этого файла без сохранения на моем сервере и сохранения содержимого в строку или что-то еще.Получить содержимое файла, загруженного пользователем перед сохранением

Это можно сделать? ... Если нет, что мне делать, чтобы получить содержимое после сохранения файла на моем сервере? ... пожалуйста, помогите мне!

Я не знаю, может ли это помочь, но это код, который я использую для загрузки пользовательских файлов.

$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"; 
} 

ответ

11

Использование file_get_contents() для этого:

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"]); 

Обратите внимание, что если вам нужен файл для последующего использования слишком, то вы должны будете скопировать его в место назначения дополнительно. Как это:

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

Это. Это то, что мне нужно. Thank you sir (-: – Jerome

+0

никаких проблем;) .. – hek2mgl

Смежные вопросы