温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

单个文件上传

发布时间:2020-03-01 07:20:35 来源:网络 阅读:324 作者:yuxin1234567890 栏目:网络安全

一、新建一个1107.php文件,在文件中写出如下代码:

<DOCTYPE html>

<html>

<head>

<title>文件上传</title>

</head>

<body>

<form method="post" action="t2.php" enctype="multipart/form-data">

<input type="hidden" name="MAX_FILE_SIZE" value="1000000"/><br>

选择文件:<input type="file" name="myfile"/><br>

<input type="submit" value="上传文件"/><br>

</form>

</body>

</html>


、新建一个t2.php文件,在文件中写出如下代码:


$allowtype=array("gif","png","jpg");        //设置允许上传的文件类型

$size=1000000;                              //设置允许上传的文件大小

$path="./uploads";                          //设置上传后保存文件的路径


//判断文件是否可以成功上传到服务器,$_FILES["myfile"]["error"]为0表示上传成功

if($_FILES["myfile"]["error"]>0){

echo "文件上传错误";

switch($_FILES["myfile"]["error"]){

case 1:die("上传文件大小超出了PHP配置文件中的约定值");    break;

case 2:die("上传文件大小超出了表单中中的约定值");        break;

case 3:die("文件只被部分上载");       break;

case 4:die("没有上传任何文件");        break;

default :die("未知错误");             break;

}

}


//通过文件的后缀名,判断上传的文件是否为允许的类型

$hz=array_pop(explode(".",$_FILES["myfile"]["name"]));

if(!in_array($hz,$allowtype)){

die("这个文件后缀是<b>{$hz}</b>,不是允许的文件类型!");

}


//判断上传的文件是否为允许大小

if($_FILES["myfile"]["name"]>$size){

die("超过了允许的<b>{$size}</b>字节大小");

}


//为了系统安全,也为了同名文件不被覆盖,上传后将文件名使用系统定义

$filename=date("YmdHis").rand(100,999).".".$hz;


//判断是否为上传文件

if(is_uploaded_file($_FILES["myfile"]["tmp_name"])){

if(!move_uploaded_file($_FILES["myfile"]["tmp_name"],$path."/".$filename)){

die("问题:不能将文件移动到指定目录");

}

}else{

die("问题:上传文件{$_FILES["myfile"]["name"]}不是一个合法文件!");

}


//如果文件上传成功则输出

echo "文件{$upfile}上传成功,保存在目录{$path}中,文件大小为{$_FILES["myfile"]["size"]}字节";


    执行上例时,需要在当前目录创建一个uploads目录(即文件夹)!

die()函数输出一条消息,并退出当前脚本

该函数是 exit() 函数的别名。

语法

die(status)
参数描述
status必需。规定在退出脚本之前写入的消息或状态号。状态号不会被写入输出。

说明

如果 status 是字符串,则该函数会在退出前输出字符串。

如果 status 是整数,这个值会被用作退出状态。退出状态的值在 0 至 254 之间。退出状态 255 由 PHP 保留,不会被使用。状态 0 用于成功地终止程序。

提示和注释

注释:如果 PHP 的版本号大于等于 4.2.0,那么在 status 是整数的情况下,不会输出该参数。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI