2013-06-03 34 views
6

Xem, tôi cung cấp cho người dùng trang web của tôi khả năng tải lên tệp PHP/HTML/TXT của chính họ vào máy chủ của tôi, đúng không? ... Nhưng tôi muốn nhận nội dung tệp đó mà không lưu nó vào máy chủ của tôi và lưu nội dung vào chuỗi hoặc bất kỳ thứ gì.Tải nội dung của tệp do người dùng tải lên trước khi lưu

Có thể làm điều đó không? ... Nếu không, tôi nên làm gì để lấy nội dung sau khi lưu tệp trong máy chủ của tôi? ... xin hãy giúp tôi!

Tôi không biết điều này có thể hữu ích hay không, nhưng đây là mã tôi sử dụng để tải lên tệp người dùng.

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

Trả lời

11

Sử dụng file_get_contents() cho rằng:

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

Lưu ý rằng nếu bạn cần file để sử dụng sau quá sau đó bạn sẽ phải sao chép nó vào một vị trí đích bổ sung. Như thế này:

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

này. Đây là những gì tôi cần. Cảm ơn bạn (-: – Jerome

+0

không có vấn đề;) .. – hek2mgl

Các vấn đề liên quan