首页 > 编程 > PHP > 正文

php开发之文件上传

2020-03-22 19:49:12
字体:
来源:转载
供稿:网友
  • 1,配置php.ini文件
    主要对下面几个属性值进行设置:
    这里写图片描述
    这里写图片描述
    2,预定义变量
    列表如下:
    这里写图片描述
    创建一个上传域,通过_FILES变量输出上传文件的资料。示例代码如下:

    <form action='' enctype='multipart/form-data' method='post' name='uploadfile'>上传文件:<input type='file' name='upfile' /><br> <input type='submit' html' target='_blank'>value='上传' /></form> <?php if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {    $upfile =$_FILES['upfile'];    foreach ($upfile as $value) {        echo $value.'<br>';    }}?>

    运行结果如下:
    这里写图片描述

    3,文件上传函数
    php中使用move_uploaded_file()函数上传文件,语法如下:
    bool move_uploaded_file(string filename,string destination)
    该函数将文件上传到指定的位置,如果成功则返回true,失败则返回false。参数filename,事临时文件名,即$_FILE[tmp_name];参数destination是上传后保存的新的路径和名称。

    示例代码如下:

    <form action='' enctype='multipart/form-data' method='post' name='uploadfile'>上传文件:<input type='file' name='upfile' /><br> <input type='submit' value='上传' /></form> <?php if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {    $upfile =$_FILES['upfile'];    if (move_uploaded_file($upfile['tmp_name'], $upfile['name'])) {        echo '上传成功';    }else{        echo '上传失败';    }}?>

    运行结果如下:
    这里写图片描述

    4,多文件上传
    多文件上传有多种方法,下面我们根据单文件上传来演化出一种多文件上传。代码示例如下:

    <form action='index.php' enctype='multipart/form-data' method='post' name='uploadfile'>上传文件:<br> <input type='file' name='upfile1' /><br><input type='file' name='upfile2' /><br><input type='file' name='upfile3' /><br><input type='submit' value='上传' /><br> </form> <?php //  header('Content-Type:text/html;charset=utf-8');$file1 =$_FILES['upfile1'];$file2 =$_FILES['upfile2'];$file3 =$_FILES['upfile3'];if ($file1['error'] == UPLOAD_ERR_OK){    echo '路径:'.$file1['name'].'<br>';    if (move_uploaded_file($file1['tmp_name'], $file1['name'])) {        echo '上传成功<br>';    }else{        echo '上传失败<br>';    }}if ($file2['error'] == UPLOAD_ERR_OK){        echo '路径:'.$file2['name'].'<br>';        if (move_uploaded_file($file2['tmp_name'], $file2['name'])) {            echo '上传成功<br>';        }else{            echo '上传失败<br>';        }}        if ($file3['error'] == UPLOAD_ERR_OK){            echo '路径:'.$file3['name'].'<br>';            if (move_uploaded_file($file3['tmp_name'], $file3['name'])) {                echo '上传成功<br>';            }else{                echo '上传失败<br>';            }        }   ?>

    运行结果如下:
    这里写图片描述

    第二种多文件上传的方式的示例代码如下:

    <form action='index.php' enctype='multipart/form-data' method='post' name='uploadfile'>上传文件:<br> <input type='file' name='upfile[]' /><br><input type='file' name='upfile[]' /><br><input type='file' name='upfile[]' /><br><input type='submit' value='上传' /><br> </form> <?php //  header('Content-Type:text/html;charset=utf-8');$filearray =$_FILES['upfile'];print_r($filearray);foreach ($filearray['error'] as $key =>$error){    if ($error==UPLOAD_ERR_OK) {        echo '文件名:'.$filearray['name'][$key].'<br>';        if (move_uploaded_file($filearray['tmp_name'][$key], $filearray['name'][$key])) {            echo '上传成功<br>';        }else{            echo '上传失败<br>';        }    }}?>

    运行结果如下:

    这里写图片描述

    除了上面的两种,还有第三种多个文件上传的方式,当然也是我觉得最完美的方式,就是可以一次选择多个文件进行上传。主要就是利用swfupload 来实现。由于我目前的知识有限,会在后面和大家共同学习这个。

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表