2013-06-03 24 views
6

私のウェブサイトのユーザーに自分のPHP/HTML/TXTファイルを自分のサーバーにアップロードする可能性はありますか?私のサーバーに保存せずに、コンテンツを文字列に保存するなど、何でもできます。保存する前にユーザーがアップロードしたファイルの内容を取得する

これは可能ですか?そうでなければ、私のサーバーにファイルを保存した後にコンテンツを取得するにはどうしたらいいですか?...助けてください!

これが役立つかどうかわかりませんが、これは私がユーザーファイルをアップロードするために使用するコードです。そのため使用file_get_contents()

$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

:あなたも、後の使用のためにファイルが必要な場合は、さらに先の場所にコピーする必要がありますことを

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

これを有用であろうリンクの下にfile_get_contents

$fileContent = file_get_contents($_FILES['upload_file']['tmp_name']); 

で可能です。これが私の必要なものです。 ありがとうございます( - : – Jerome

+0

問題はありません).. – hek2mgl

関連する問題