我创建了一个简单的upload.php文件。 但我想创建一个文件托管网站,用户无需登录/注册即可上传文件并获取下载链接,以便其他人可以使用该链接下载文件。就像在datafilehost.com上一样。
我的html文件是: -
<form enctype="multipart/form-data" action="upload.php" method="POST">
Please choose a file: <input name="uploaded" type="file" /><br />
<input type="submit" value="Upload" />
</form>
我简单的php fie是: -
<?php
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;
//This is our size condition
if ($uploaded_size > 350000)
{
echo "Your file is too large.<br>";
$ok=0;
}
//This is our limit file type condition
if ($uploaded_type =="text/php")
{
echo "No PHP files<br>";
$ok=0;
}
//Here we check that $ok was not set to 0 by an error
if ($ok==0)
{
Echo "Sorry your file was not uploaded";
}
//If everything is ok we try to upload it
else
{
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
}
else
{
echo "Sorry, there was a problem uploading your file.";
}
}
?>
请帮帮我........ 谢谢。
答案 0 :(得分:0)
echo http://'.$_SERVER ['HTTP_HOST']。rtrim(dirname($ _SERVER ['REQUEST_URI']),'\ /')。'/'。$ uploadpath。'
我不会使用你的代码,因为它来自about.com文章,旨在帮助用php教授文件上载的概念,它没有任何接近你需要的安全性。
答案 1 :(得分:0)
自PHP 4.1.0起存在全局$_FILES
(如果使用早期版本,则使用$ HTTP_POST_FILES)。这些数组将包含所有上传的文件信息..
$_FILES['userfile']['name']
客户端计算机上文件的原始名称。 $ _FILES [ 'userfile的'] [ '类型'] 文件的mime类型,如果浏览器提供了此信息。一个例子是“image / gif”。但是,在PHP方面没有检查这个mime类型,因此不会将其值视为理所当然。
$_FILES['userfile']['size']
上传文件的大小(以字节为单位)。
$_FILES['userfile']['tmp_name']
上传文件存储在服务器上的文件的临时文件名。
$_FILES['userfile']['error']
与此文件上传相关联的错误代码。这个元素是在PHP 4.2.0中添加的
在你的情况下,你已经定义了文件名和文件sotred的路径。
$file = $_FILES['userfile']['name'];
$path = $_FILES['userfile']['tmp_name'].$_FILES['userfile']['name'].ext;
if (file_exists($path)) {
// show user download link
}