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 来实现。由于我目前的知识有限,会在后面和大家共同学习这个。

时间: 2024-10-16 04:45:39

php开发之文件上传的相关文章

IOS开发之文件上传

IOS开发之文件上传 在移动应用开发  文件形式上传是必不可少的,最近把IOS这块文件上传文件代码简单的整理一下,如果大家有需要安卓这边的代码,本人也可以分享给大家!QQ群:74432915  欢迎大家一起探讨 首先本demo采用网上开源框架 AFNetworking  源码:http://download.csdn.net/detail/wangliang198901/7809439 将整个框架导入IOS新建立的工程中 在FKAppDelegate.h声明 如下: #import <UIKit

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构 DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服务

Java Web开发之文件上传

文件上传有SmartUpload.Apache的Commons fileupload.我们今天介绍Commons fileupload的用法. 1.commons-io.jar 和commons-fileupload-1.3.1.jar 下载地址:http://pan.baidu.com/s/1kVtYMzH 2.web.xml 1 <!-- 上传文件 服务器端 --> 2 <servlet> 3 <servlet-name>UploadServlet</serv

iOS开发 - 封装文件上传工具类

文件上传的步骤 1.设置请求头 * 目的:告诉服务器请求体里面的内容并非普通的参数,而是包含了文件参数 [request setValue:@"multipart/form-data; boundary=maljob" forHTTPHeaderField:@"Content-Type"]; 2.设置请求体 * 作用:存放参数(文件参数和非文件参数) 1> 非文件参数 [body appendData:MalJobEncode(@"--maljob\

Minio 整合springboot 开发 实现文件上传

Minio 作为对象存储,灵活方便,结合java 实现minio 文件上传 1.搭建maven环境,添加依赖包 <properties> <minio.version>4.0.0</minio.version></properties> <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <versio

django 开发之文件上传

创建一个文件夹用于保存上传的路径 然后在setting 里面配置文件的上穿的路径 #配置文件的上传路径MEDIA_URL='/uploads'MEDIA_ROOT= os.path.join(BASE_DIR,'uploads') 接着在url里面配置用户图像上传的路由 解决富文本编辑器的图片长传问题: 首先要做的就是创建一个upload  python 文件 在你的app下创建. 具体的代码如下 1 # -*- coding: utf-8 -*- 2 from django.http impo

6.MVC框架开发(文件上传)

1.需要设置表单的enctype="multipart/form-data"属性 2.在控制器中获取表单文件中数据 [HttpPost] public ActionResult AddBook(FormCollection form) { var s = HttpContext.Request.Files["file1"];//获取客户端上载的文件集合 s.SaveAs(HttpContext.Server.MapPath("~/Content/"

使用Servlet3.0提供的API实现文件上传

在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileupload组件,在Servlet3.0中提供了对文件上传的原生支持,我们不需要借助任何第三方上传组件,直接使用Servlet3.0提供的API就能够实现文件上传功能了. 一.使用Servlet3.0提供的API实现文件上传 1.1.编写上传页面 1 <%@ page language="java" pageEncoding="UTF-8"

C# asp.net实现文件上传

前端代码: 使用visual studio开发实现文件上传 前端页面代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="scientist.WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio