PHP -----上传文件

文件上传

如何上传文件??

-----------------------------------------------主页面-----------------------------------------------

<title>无标题文档</title>

</head>

<body>

<form action="chuli.php" method="post" enctype="multipart/form-data"><!--如果这个表单用来上传文件的,需要加额外的一个属性:enctype="multipart/form-data"提交数据的类型,是一个文件数据-->

<input type="file" /><!--这个标签可以用来选择文件-->

<!--文件的上传就是给予这个标签来实现的-->

<!--通过这个标签选完文件,要把这个文件,可以提交到另一个页面来实现-->

<!--<input type="file" />他是一个表单元素。只要是表单元素,就可以进行提交。把它提交到另外一个页面来处理-->

<!--上传文件就是依据,表单的提交功能,来实现。-->

<input type="submit" value="上传" /><!--上传文件需要借助表单提交来完成-->

<!--选择文件是选取的客户端的文件,哪个电脑用就选取那个电脑的文件。当点击上传提交到另外一个页面叫处理页面来处理,处理页面只有php代码,他只要包含PHP代码就要通过服务器的Php来处理,所以就相当于从客户端把文件拿到了服务端去处理这样就可以完成一个文件,从客户端转移到服务端这样一个过程。-->

</form>

</body>

</html>

----------------------------------------------处理页面----------------------------------------------

<?php

//提交了一个文件过来,而且name="file,文件选择的表单name叫"file,

//在处理页面怎样把传过来的值取到

//如果你是上传文件提交过来的,要从$_FILES数组来取

var_dump($_FILES);

显示的结果:

是一个二维数组

file代表提交表单的name值,又包含了一个数组这个数组里面才包含了上传文件的信息

name上传的文件名   
type上传的类型    
tmp_name文件临时存储的路径,也就是说把文件从客户端拿到服务端之后这个文件先预先存储一个位置,把这个文件保存在来了,保存在服务端了,如果不保存,这程序执行完就删掉了,这就是一个临时文件     
error 出错信息
size上传文件的大小   int 2786这个是以字节为单位的
 
它是存在$_FILES数组里的
var_dump($_FILES["file"]);//可以取到上传的信息

打到处理页面,这个文件临时存在了服务器了,不是在客户端了,临时存在了F:\PHP1\wamp\tmp\php8C5C.tmp这个位置上,现在要把这个文件怎样完成一个文件上传,就是把这个临时文件保存下了,指定一个目录保存下来(存在目录里),这样就完成了上传。
但是,在上传的过成中,需要进行那些处理呢??
第一,不是所有的文件都能上传,要控制一下上传文件的类型,比如只能是图片,只能是word文档,只能是表格不能让用户随便上传,不能上传php文件,不能上传ese文件,不能上传关于页面的其他文件。会用到:‘type‘ => string ‘image/png‘ 
第二,要控制,上传文件的大小。不能让用户上传太大的文件,因为这个空间是有限的,如果每个用户都上传大文件,空间就马上满了,满了就不行了。
上传一张头像的话就是几十K,,,100k就很大了。 会用到:‘size‘ => int 4173
瞒足这些条件,在把临时文件保存时,需要这个目录:‘tmp_name‘ => string ‘F:\PHP1\wamp\tmp\php73ED.tmp‘需要这个目录找到这个文件,找到文件之后要存在另外一个目录里面
要存储文件名的话name 也需要 ‘name‘ => string ‘代码图片.png‘ 
 

 
时间: 2024-11-08 17:26:52

PHP -----上传文件的相关文章

万家报账平台没有“上传文件”按钮的解决办法

在有的电脑没有"上传文件"的按钮? 第一步:首先检查浏览器设置. 第二步:找到IE的Internet选项菜单,开启菜单栏的根据下列方面找,如下图: 第三步:找到Internet选项后,点击,选择安全选项卡,并点击"自定义级别" 第四步:找到"将文件上载到服务器时包含本地目录路径"选择"启用".然后点击确定关闭IE,重启打开. 第五步:更新浏览器的flash版本.在百度中搜索"flash player官网"即

通过jQuery Ajax使用FormData对象上传文件

转自:http://www.cnblogs.com/labnizejuly/p/5588444.html FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". <form id="uploadForm" enctype="multipart/form-data"> <input id="file" type="file"

数据采集之Web端上传文件到Hadoop HDFS

前言 最近在公司接到一个任务,是关于数据采集方面的. 需求主要有3个: 通过web端上传文件到HDFS; 通过日志采集的方式导入到HDFS; 将数据库DB的表数据导入到HDFS. 正好最近都有在这方面做知识储备.正所谓养兵千日,用兵一时啊.学习到的东西只有应用到真实的环境中才有意义不是么. 环境 这里只做模拟环境,而不是真实的线上环境,所以也很简单,如果要使用的话还需要优化优化. OS Debian 8.7 Hadoop 2.6.5 SpringBoot 1.5.1.RELEASE 说明一下,这

ssh连接服务器以及scp上传文件方法

本地控制台输入 ssh [email protected]外网ip或内网ip,举例:ssh [email protected]      这是用用户名为root的用户登录192.168.133.196这个地址所在的后台.如果提示以下红色部分错误: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@

php+curl上传文件

因为公司项目用java做的,需要我这边用php上传文件.只给了个接口,参数都不明确,然后这边不提交表单,在生成pdf之后就立马上传.用了php+curl,总是没上传成功,这里看到了篇文章http://blog.sina.com.cn/s/blog_709475a101013dlf.html,希望可以借鉴.还有这篇http://www.cnblogs.com/jackluo/p/4113255.html

shell案例 - 统计用户上传文件的时间

问题与需求: 一个web服务跑论坛,每天都有很多用户会上传文件到服务器里,假设这些文件会保存在/data/www/attachment目录下,我想知道用户大概会在什么时候上传文件? 从而了解用户的行为习惯 解决思路: 1. 判断新文件是否被上传到了服务器里?以5分钟为一个间隔,进行检测. 2. 确定这些文件是什么时候被上传的? 3. 将新文件的列表输出到一个按年.月.日.时.分为名字的日志里,以方便我们进行查看分析 4. 写一个shell脚本来帮我们自动实现这个检测和记录的过程,当然只检测一次是

如何解决上传文件时文件内容相同

现在有这样一个需求:要求在上传文件时,凡是上传的文件,只要内容相同就只在服务器保存一份. 如何比较文件内容?如果当时思维受限,很难想到来比较文件内容的办法. 解决办法: 文件上传,肯定少不了用流来读文件,文件内容相同的根源就是:流读出来的字节码相同.这就想到了解决的办法,可是问题又来了.怎么比较字节码?想想那么长的字节码,如果用字符串的equals方法来比较,这不是一个好的解决办法.经过一番思考,我决定把流读出来的字节码进行MD5加密,用加密后的字符串来当作文件的文件名,然后在进行文件的上传(文

js 上传文件后缀名的判断 var flag=false;应用

js 上传文件后缀名的判断  var flag=false;应用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &

(转载)burpsuit 突破上传文件限制

1.运行Burp site,点击Proxy标签,确认Options选项卡下,Proxy listeners的running运行正常(勾选状态为运行),如果端口打开失败,可能的原因是有程序占用了该端口,点击edit,在local listener port:输入框输入一个未占用的端口,点击update即可.我这里将端口改为了8082 2.打开http://192.168.8.120/test/upload_flash.asp?formname=myform&editname=bookpic&

关于在阿里云ESC服务器解析域名并绑定服务器IP后上传文件通过域名访问步骤教程

第一步:登录阿里云官网,获取服务器ECS的指定公网IP地址. 1.输入阿里云官网账号进入首页,如下图: 2.点击进入"管理控制台",如下图: 3.点击"云服务器ECS",进入你购买的服务器概览界面,如下图: 4.点击左侧"实例"选项,进入你名下服务器信息界面,如下图:注意你购买服务器所在地. 获取服务器公网地址. 第二步:登录你所购买域名的供应商进行解析域名绑定服务器IP地址:如(万网)(现万网与阿里云整合在一起,所以你再阿里云也可以解析域名到你