码迷,mamicode.com
首页 > Web开发 > 详细

php开发之文件上传

时间:2015-04-08 10:57:13      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:php   文件上传   

1,配置php.ini文件
主要对下面几个属性值进行设置:
技术分享
技术分享
2,预定义变量
列表如下:
技术分享
创建一个上传域,通过_FILES变量输出上传文件的资料。示例代码如下:


<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"];
    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开发之文件上传

标签:php   文件上传   

原文地址:http://blog.csdn.net/hanhailong18/article/details/44922051

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!