仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 580|回复: 7
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP上传道理及操纵完成

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:11:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧!关于PHP上传文件的函数类库,网上有很多封装很完美,人人间接拿来用就能够。
本文章只是说下关于上传道理和复杂的上传操纵,老鸟就忽视了哈^_^~
另有一些平安性判别好比:服务端限定能吸收图片范例的文件,而客户端歹意将病毒文件的后缀名改成图片配型的文件上传。

(举例单文件上传,多文件道理仍是稳定,只不外多了点小技能)


index.html
  1. uploadfiles上传文件:
复制代码
1、Form标签enctype属性
表单中enctype="multipart/form-data"是用于设置表单的MIME编码。
默许情形,这个编码格式是application/x-www-form-urlencoded,不克不及用于文件上传;
只要利用了multipart/form-data且提交体例为Post才干完全的传送文件数据。

2、MAX_FILE_SIZE埋没字段
MAX_FILE_SIZE埋没字段(单元为字节)必需放在文件输出字段之前,其值为吸收文件的最年夜尺寸。这是对扫瞄器的一个倡议,PHP也会反省此项。
在扫瞄器端能够复杂绕过此设置,因而不要期望用此特征来反对年夜文件。(不外鉴于友爱性最好仍是在表单中加上此项目,由于它能够制止用户在花工夫守候上传年夜文件以后才发明文件过年夜上传失利的贫苦。)

upload.php
  1. [/code]我们能够看到:
  2. [code]Array([file]=>Array([name]=>照片文件.jpg[type]=>image/jpeg[tmp_name]=>F:wamp        mpphp41BB.tmp[error]=>0[size]=>73886))
复制代码

3、全局变量$_FILES的使用
  $_FILES["file"]["name"]  为上传文件的原文件名
  $_FILES["file"]["type"]  为上传文件的MIME范例
  $_FILES["file"]["size"]  已上传文件的巨细,单元为字节
  $_FILES["file"]["tmp_name"]  文件被上传后在服务端贮存的一时文件名()
  $_FILES["file"]["error"]  文件上传的毛病代码

4、默许情形下,上传文件会保留在服务真个一时文件夹中,其目次在php.ini中设置
php.ini与文件上传有关的一些经常使用设置:
file_uploads;  是不是同意经由过程HTTP上传文件的开关。默许为ON便是开
upload_tmp_dir;  文件上传至服务器上存储一时文件的中央,假如没指定就会用体系默许的一时文件夹
upload_max_filesize;  即同意上传文件巨细的最年夜值。默许为2M
post_max_size;  指经由过程表单POST给PHP的所能吸收的最年夜值,包含表单里的一切值。默许为8M

上面是对单文件上传的完全代码,由于是随想随写的,大概逻辑嵌套的有点乱,懂道理最主要。
[code][/code]5、关于php上传文件的一些经常使用函数:(详细用法就不贴出来了,本人看API文档吧^_^)
file_exists  反省文件或目次是不是存在
is_uploaded_file  判别文件是不是是经由过程HTTPPOST上传的
move_uploaded_file  将上传的文件挪动到新地位
is_writable  判别给定的文件名是不是可写
iconv  字符编码互转
getimagesize  反省是不是为图片文件(其他范例的文件就算后缀名改了也能被检测到)
大家如果能懂得“熟能生巧”的道理也就明白了这并不是浪费时间,同时这也可以减轻板主的负担,让他们有时间去处理更难的问题。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-18 21:50:27 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
蒙在股里 该用户已被删除
板凳
发表于 2015-2-1 17:12:25 来自手机 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
爱飞 该用户已被删除
地板
发表于 2015-2-7 12:16:42 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
简单生活 该用户已被删除
5#
发表于 2015-2-21 21:14:39 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
海妖 该用户已被删除
6#
发表于 2015-3-6 21:56:32 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
乐观 该用户已被删除
7#
发表于 2015-3-13 22:08:45 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-20 20:42:43 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 21:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表