简单的php文件上传实例

来源:互联网 发布:音乐跳动软件 编辑:程序博客网 时间:2024/05/17 04:56

由于本人要实现将游戏中的错误包上传到服务器,初步用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>");            }        }     } ?>


0 0
原创粉丝点击