php文件上传代码怎么写-PHP问题

资源魔 36 0

php文件上传代码怎样写

正在初学php的时分,咱们无奈了解php文件上传的代码,和上传的逻辑,如下代码从初学者的角度编写,心愿对各人有协助!

需求用到的常识:

超等全局数组:$_FILES

$_FILES['myfile']['name']的值是:客户端文件零碎的文件称号

$_FILES['myfile']['type']的值是:客户端通报的文件类型

$_FILES['myfile']['size']的值是:文件的字节巨细

$_FILES['myflie']['tmp_name ']的值是:文件被上传后正在效劳器存储的暂时全门路

$_FILES['myfile']['error']的值是:文件上传的谬误代码

存储正在$_FILES['myfile']['error']中的值

值为0: 示意不发作任何谬误

值为1: 示意上传文件的巨细凌驾了商定值。文件巨细的最年夜值正在PHP设置装备摆设文件中指定的,指令是:upload_max_filesize

值为2: 示意上传文件巨细超越了HTML表单暗藏域属性的MAX_FILE_SIZE元素所指定的最年夜值

值为3: 示意文件只被局部上传

值为4:示意不上传任何文件

值为6: 示意找没有到暂时文件夹

值为7: 示意文件写入失败

谬误值对应常量

UPLOAD_ERR_OK : 对应值0

UPLOAD_ERR_INI_SIZE : 对应值1

UPLOAD_ERR_FORM_SIZE : 对应值2

UPLOAD_ERR_PARTIAL : 对应值3

UPLOAD_ERR_NO_FILE : 对应值4

UPLOAD_ERR_NO_TMP_DIR : 对应值6

UPLOAD_ERR_CANT_WRITE : 对应值7

upload.html 代码以下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片上传</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file"  name="pic"/>
        <!--经过表单限度上传文件的巨细 肯定要正在上传按钮前 巨细以字节为主-->
        <input type="hidden" name="MAX_FILE_SIZE"  value="8388608"/>
        <input type="submit" name="sub" value="上传" />
    </form>
</body>
</html>

upload.php 代码以下

<?php
//var_dump($_FILES);
//exit;
//判别能否是文件上传
$file = $_FILES;
//第一个pic 是input 中的name值
if(is_uploaded_file($file['pic']['tmp_name']))
{
    //申明容许上传的文件类型
    $allowType = ['image/png','image/jpeg','image/gif','image/jpg'];
    //在上传的文件的类型
    $type = $file['pic']['type'];
//    echo $type;
    //判别类型能否是容许的类型
    if(!in_array($type,$allowType))//反省数组中能否存正在某个值,前往布尔型
    {
       exit('上传类型有误');
    }
    //判别文件上传的巨细
    if($file['pic']['size'] > 1024 * 1024 * 8) //以字节为主 1024*1024是1M
    {
        exit('上传的文件太年夜');
    }
    //设置新文件名
    $filename = date('YmdHis',strtotime('now')).rand(1000,9999);
    //猎取上传文件的后缀名
    $name = $file['pic']['name'];
    //失去文件名字符串
    $filestr      = explode('.',$name);
    $ext = array_pop($filestr);
    //拼接新文件名
    $newfilename = $filename.'.'.$ext;
    //拼接上传文件的门路
    $path = './uploads/';
    //相对门路
    $abspath = $path.$newfilename;
    if(move_uploaded_file($file['pic']['tmp_name'],$abspath))
    {
        echo '上传胜利';
    }else{
        echo '上传失败';
    }
}

更多PHP相干常识,请拜访PHP中文网!

以上就是php文件上传代码怎样写的具体内容,更多请存眷资源魔其它相干文章!

标签: php 文件上传 php教程 php故障解决 php使用问题

抱歉,评论功能暂时关闭!