18年7月24日随笔

<form method="post" action="index9(2).php" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
        <input type="hidden" name="user" value="aaa">
        <input type="file" name="upload">
        <input type="submit" value="提交">
</form>

 首先接收filse 然后定义几个变量 存放文件的地址 img 然后是传入文件的格式 允许传入的文件大小

然后判断是否接收到文件 报错提示 在判断传入的文件类型是否是之前定义的 在判断传入文件的大小是否超过定义的最大值

现在给文件起名 上传文件如果是重名的会覆盖原来的
用时间函数读取当前时间 作为文件名

现在需要传入的文件后戳 用函数吧传入的名字变成数组 然后去找到存放后缀的位置 现在把创建的时间和得到的后缀连接一起 得到最终的文件名

把得到的文件名加上之前创建存放文件的地址用反斜线连接在一起就会得到一个上变量/时间.后缀的地址

最后需要判断上传的文件是不是用post上传的 如果不是提示文件不符合规定 如果是就需要把存放的临时文件移动到刚刚得到的地址里

<?php
header("content-type:text/html;charset=utf-8");
echo "<pre>";

$file=$_FILES['upload'];//获得form提交过来的文件属性
print_r($file);

$path='img';
$path=trim($path,'/');//移除字符串左面和右面的'/'

$allow=array('image/jpeg','image/gif','image/png','image/jpg');//设置一个数组 里面的图片格式
$size=1.5*1024*1024;//允许的 大小单位是字节

switch ($file['error']) {//判断上传文件$file['error']是否错误 0是上传成功
    case 1:
        die('超过了php.ini 中 upload_max_filesize 的限制');
        break;
    case 2:
        die('超过了html表单 中 隐藏域设置 的限制');
        break;
    case 3:
        die('只有部分文件被上传');
        break;
    case 4:
        die('文件没有上传');
        break;
    case 6:
        die('找不到临时目录');
        break;
    case 7:
        die('文件写入失败');
        break;
}
if(!in_array($file['type'],$allow)){//判断当前类型是否是之前定义的 在不在数组里
    die('当前上传的文件不符合规定');
}
if($size<$file['size']){//传进来的$file['size']是否超过设置的最大值
    die("当前文件大小超过允许的最大值");
}
echo $name=@date('Ymdhsi',time());//给文件起名 用时间 传到服务器上图片,如果有重名的,新传进来的会覆盖原来的
echo "<hr>";
$arr=pathinfo($file['name']);//函数以数组的形式返回文件路径的信息。pathinfo(规定要检查的路径);
echo "<pre>";
print_r($arr);
$name1=$name.'.'.$arr['extension'];//最终得到的文件名 时间加上$arr['extension']获得的后缀
echo "<pre>";
print_r($name1);
echo "<hr>";
$addr=$path.'/'.$name1;//   获得这样的格式 img/时间.jpg
if(!is_uploaded_file($file['tmp_name'])){//函数判断指定的文件是否是通过 HTTP POST 上传的 is_uploaded_file(文件路径)
    if(move_uploaded_file($file['tmp_name'],$addr)){
    //将上传的文件移动到新位置。若成功,则返回 true,否则返回 false move_uploaded_file(移动的位置,新的位置
    //)
        echo "<script>alert('上传成功');location.href='index9.php'</script>";
    }else{
        die("上传失败,请重新提交");
    }
}else{
    die("您当前的文件不符合规定");
}
?>

posted @ 2018-07-24 15:29  西曼d  阅读(81)  评论(0)    收藏  举报