您的位置:首页 > 编程语言 > PHP开发

简单的php文件上传实例

2014-07-03 18:44 531 查看
由于本人要实现将游戏中的错误包上传到服务器,初步用php写了一个简单的测试小例子,大家可以拿来直接运行

表单:upload.html

<html>
<body><form action="ReceiveFile.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></body>
</html>


ReceiveFile.php

<?php

/* 设定上传目录 */
$dest_dir='./upload';

/* 检测上传目录是否存在 */
if( !is_dir($dest_dir) || !is_writeable($dest_dir) )
{
die("上传目录 ".$dest_dir." 不存在或无法写入");
}

/* 设置允许上传文件的类型 */
$type=array("rar","zip","txt","c","JPG");

/* 获取上传文件信息 */
// $upfile=&$HTTP_POST_FILES['file'];
$upfile=$_FILES["file"];

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

/* 获取文件后缀名函数 */
function fileext($filename)
{
return substr(strrchr($filename, '.'), 1);
}

//echo "Temp file: " .  fileext($upfile['name']   . "<br />";

/* 判断上传文件类型 */
if( !in_array( strtolower( fileext($upfile['name'] ) ),$type) )
{
$text=implode(",",$type);
echo "对不起,您只能上传以下类型文件: ",$text,"<br>";
}
else
{
/* 设置文件名为"日期_文件名" */
$dest=$dest_dir.'/'.date("ymdHis")."_".$upfile['name'];

/* 移动上传文件到指定文件夹 */
$state=move_uploaded_file($upfile['tmp_name'],$dest);

if ($state)
{
print("文件上传成功!<br>");
print("文件名:".$dest."<br>");
print("上传的文件大小:".( round($upfile['size'] / 1024,2) )." KB<br>");
}
else
{
/* 处理错误信息 */
switch($upfile['error'])
{
case 1 : die("上传文件大小超出 php.ini:upload_max_filesize 限制<br>");
case 2 : die("上传文件大小超出 MAX_FILE_SIZE 限制<br>");
case 3 : die("文件仅被部分上传<br>");
case 4 : die("没有文件被上传<br>");
case 5 : die("找不到临时文件夹<br>");
case 6 : die("文件写入失败<br>");
}
}
}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php