在PHP中,是否可以将文件上传到服务器?

时间:2013-12-20 10:22:27

标签: php xampp localhost

在PHP中,是否可以将文件上传到服务器?如果是这样,那么如何创建上传表单并将文件插入特定页面?任何扩展图像:.jpeg .gif或文件:.txt .pdf等我正在使用XAMPP(localhost来查看我的网站)。

我尝试了很多教程,但是有很多错误。

这是这个HTML文件:

<form action="fileupload.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

这是PHP脚本:

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

结果显示如下:

  

上传:(此处提交)
     输入:image / jpeg
     尺寸:757.521484375 Kb
     存储在:( C:中的临时文件)

但每当我在tmp文件夹中找到我的文件时。它无处可寻。

1 个答案:

答案 0 :(得分:0)

    function getExtension($str)
    {
        $i = strrpos($str,".");
        if (!$i)
        {
            return "";
        }
        $l = strlen($str) - $i;
        $ext = substr($str,$i+1,$l);
        return $ext;
    }

    $extension = getExtension($filename);
    $extension = strtolower($extension);
    if($extension=="jpg" || $extension=="jpeg" || $extension=="gif" || $extension=="txt" || $extension=="pdf" ){

  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" .date("d_m_h_i_s"). $_FILES["file"]["name"]);

    }

getExtension函数有助于获取文件的扩展名。文件将上传到上传文件夹。