echo file_get_contents($ _ FILES [“image”] [“tmp_name”]不执行任何操作

时间:2013-09-07 16:19:14

标签: php

我写了以下代码。 Web浏览器中没有写入任何内容,也不会引发任何错误。谁能帮助我找出问题所在?

try {
   echo file_get_contents($_FILES["image"]["tmp_name"]);
} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

以下是表格:

echo "<form action='upload.php' method='post' enctype='multipart/form-data'> 
        <p><input type='file' name='myfile'/></p>
        <p><input type='submit' value='Upload'/></p>
        </form>";

问题是我正在按照我应该设置的教程:$ image = file_get_contents($ _ FILES [“image”] [“tmp_name”]);当教程中的人试图回应它时,文件内容是在浏览器中写入的。我什么都没发生。我认为它不起作用。

1 个答案:

答案 0 :(得分:5)

使用

  file_get_contents($_FILES["myfile"]["tmp_name"]); 

而不是

  file_get_contents($_FILES["image"]["tmp_name"]);

<强> since <input type='file' name='myfile'/>

Changing the file name of a tmp file uploaded through a form

更好的参考
if($_SERVER['REQUEST_METHOD']=='POST' && isset($username) && is_numeric($id)
&& isset($_FILES['myfile']['error']) && $_FILES['myfile']['error']=='UPLOAD_ERR_OK')
{
    $name    = basename($_FILES['myfile']['name']);
    $ext     = end(explode('.', $name));
    $info    = getimagesize($_FILES['myfile']['tmp_name']);

}