PHP接收上传的文件

提交文件的HTML页面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
<!--
注意:
enctype="multipart/form-data";
拼写不要写成
enctype="multipart/from-data";
重点:
enctype="multipart/form-data"
type="file"
-->
</head>
<body>
    <form action="u.php" method="post" enctype="multipart/form-data">
        用户名:<input type="text" name="username" /><br />
        头像:<input type="file" name="pic" /><br />
        <input type="submit" value="提交" />
    </form>
</body>
</html>

PHP接收文件:

<?php
/*
PHP文件上传的过程:
1:提交后,文件自动发到服务器上,形成一个临时文件
2:在服务器上,只需要把临时文件移动到自己想要的位置,就可以完成上传操作

疑问: 临时文件在哪儿呢?
文件的其他信息如 文件名,文件大小,等,又在哪儿呢?

答: PHP形成临时文件后,还会形成一个$_FILES超级全局数组
数组里保存着文件的临时地址,临时名称,大小,等信息.

所以 想上传文件,得先读$_FILES
*/


/*
文件上传的注意事项
1:必须POST提交
2:要声明 enctype选项
*/
echo "<pre>";
print_r($_FILES);
echo "</pre>";

/*
3:如何移动上传后的临时文件呢?
答:用move_uploaded_file()函数
*/

/*
4:这个临时文件什么时间消失?
答:临时文件在接收的.php文件结束后,就立即消失了.

比如:02.php负责接收,当02.php运行完毕,临时文件就消失.



sleep(5); //睡5秒钟,便于观察临时文件

if(move_uploaded_file($_FILES['pic']['tmp_name'],'./file/' . $_FILES['pic']['name'])) {
    echo '成功';
} else {
    echo '失败';
}

*/

3、thinkphp接收

    public function swfupload() {
        if (IS_POST) {
			
            //上传处理类
            $config=array(
            		'rootPath' => './'.C("UPLOADPATH"),//文件上传保存的根路径
            		'savePath' => '',//文件上传的保存路径(相对于根路径)
            		'maxSize' => 11048576,//文件上传的最大文件大小(以字节为单位),0为不限大小
            		'saveName'   =>    array('uniqid',''),//上传文件的保存规则,支持数组和字符串方式定义,uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。
            		'exts'       =>    array('jpg', 'gif', 'png', 'jpeg',"txt",'zip'),
            		'autoSub'    =>    false,//自动使用子目录保存上传文件 默认为true
            );
			$upload = new \Think\Upload($config);// 
			$info=$upload->upload();
            //开始上传
            if ($info) {
                //上传成功
                //写入附件数据库信息
                $first=array_shift($info);
                if(!empty($first['url'])){
                	$url=$first['url'];
                }else{
                	$url=C("TMPL_PARSE_STRING.__UPLOAD__").$first['savename'];
                }
                
				echo "1," . $url.",".'1,'.$first['name'];
				exit;
            } else {
                //上传失败,返回错误
                exit("0," . $upload->getError());
            }
        } else {
            $this->display(':swfupload');
        }
    }

}


转载于:https://my.oschina.net/lantianbaiyun/blog/472902

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值