在php上传文件到服务器

创建一个文件上传表单

允许用户从表单上传文件是非常有用的。

先制作供上传文件的 HTML 表单:

<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。

<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。

注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。

创建上传脚本

"upload_file.php" 文件含有供上传文件的代码:

通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。

第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像这样:

  • $_FILES["file"]["name"] - 被上传文件的名称
  • $_FILES["file"]["type"] - 被上传文件的类型
  • $_FILES["file"]["size"] - 被上传文件的大小,以字节计
  • $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  • $_FILES["file"]["error"] - 由文件上传导致的错误代码

这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。

上传限制

在这个脚本中,我们增加了对文件上传的限制。用户只能上传 .gif 或 .jpeg 文件,文件大小必须小于 20 kb:

注释:对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。

保存被上传的文件

上面的例子在服务器的 PHP 临时文件夹创建了一个被上传文件的临时副本。

这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:

另外有一点必须注意:要保存的目标文件夹必须有足够的权限 , 例如 777

上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。

注释:这个例子把文件保存到了名为 "upload" 的新文件夹。

在php上传文件到服务器

时间: 2024-10-03 20:05:07

在php上传文件到服务器的相关文章

利用put上传文件到服务器

#import "KUViewController.h" #import "KUProgress.h" @interfaceKUViewController ()<NSURLSessionTaskDelegate> //下载进度的类,继承UIview @property (weak, nonatomic) IBOutlet  KUProgress *progressView; @end @implementation KUViewController -

本地上传文件到服务器,从服务器下载文件到本地

最近在做项目的时候涉及到了文件的上传.下载,以前学习IO时也没有搞得多清楚,在网上找了些上传下载的例子,然后修改了部分.经测试,上传下载文件暂时能用,下面是上传和下载的方法: 1.本地上传文件到服务器 html代码: <form id="uploadDatumInfo" name="uploadDatumInfo" method="post" enctype="multipart/form-data" target=&q

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce

put上传文件的服务器的配置

1,HTTP常见的方法 GET 获取指定资源 POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HE A D 获取指定资源头部信息PUT 替换指定资源(不支持浏览器操作) DELETE 删除指定资源   2,配置服务器的put请求方式:   1> n 打开终端p cd /etc/apache2p sudo vim httpd.conf n 在vim中输入p /httpd-dav.conf? 查找httpd-dav.confp 按0将光标移动至行首p 按x将行首的

C# FTP上传文件至服务器代码

C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件</param> /// <param name="targetDir">目标路径</param> /// <param name="hostname">ftp地址</param&g

php上传文件到服务器 (注意权限)

表单<input type="file" name="upload_pic"> php上传文件到服务器,注意需要获取权限: if($_FILES['upload_pic']['size'] > 0) { $file_path=dirname(__FILE__); //文件目录 $file_path=str_replace('\\','/',substr($file_path,0,strpos($file_path,'application'))).

python 上传文件到服务器

def upload(filename): #buld post body data boundary = '--xxxxxxxxxxxxxxxx ' http_url='http://xx.xx.com/upload.php' data = [] data.append('--%s' % boundary) fp=open(filename,'rb') data.append('Content-Disposition: form-data; name="%s"; filename=&

Android中利用HTTP协议实现上传文件到服务器

首先我们需要使用HTTP协议发送数据,我们就要知道HTTP发送上传文件到服务器的时候需要哪些头字段已经相关的配置,请看下图 这是使用浏览器模拟上传文件到服务器时候所发送的请求,我们可以看到它包含了请求头字段和实体部分,但是多了一个---------------------------7da2137580612,它实际上是一条分隔线,用于分隔实体数据的,他在使用分隔实体数据的时候会在前面包含多两个"-"而在结束的时候会在除了在前面都出两个减号"-"之外,还会在末尾都出

【经验记录】Android上传文件到服务器

Android中实现上传文件,其实是很简单的,和在java里面是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要配置content-type的一些参数!如果这些都弄好了,上传就很简单了,下面是我写的一个上传的工具类: package com.spring.sky.image.upload.network; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream;

工作笔记4.struts2上传文件到服务器

本文介绍两种:上传文件到服务器的方式   一种是提交Form表单:另一种是ajaxfileupload异步上传. 一.JSP中:     1.提交Form表单 为了能完成文件上传,我们应该将这两个表单域所在表单的enctype属性设置为multipart/form-data. <form action="uploadFiles_fourInsuranceFirstUpload.action" method="post" enctype="multip