- 浏览: 831534 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
php基础知识-文件上传
示例代码下载页http://xieye.iteye.com/blog/1336095
可以使用户上传文本和二进制文件。用 PHP 的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。
相关的设置: 请参阅 php.ini 的
file_uploads,
upload_max_filesize,
post_max_size = 8M,
upload_tmp_dirpost_max_size
以及 max_input_time
设置选项
默认情况下,php的配置允许上传,而且文件大小不能超过2M。
php上传需要构建特殊表单,其实就是表单多了一个属性 enctype="multipart/form-data",还有表单元素中多了一个file元素。
在服务端需要使用move_uploaded_file 函数,并有一个$_FILE超全局变量可用。
以下抄自php手册
<<<
$_FILES['userfile']['name']
客户端机器文件的原名称。
$_FILES['userfile']['type']
文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size']
已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']
和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。
>>>
建议1:实际应用中用户上传的文件不应与程序放在同一目录(那是个糟糕的习惯),本教程为简单起见放到了一起。
建议2:为系统安全,总是应该给上传文件重命名,如需保存原文件名,可以保存到数据库。
建议3:如果用户经常会上传文件,则应该在某个目录下建子目录,如uploadfile目录下有20120102,20120103等按天的目录,
用户上传的文件按天存放在各自的目录中。
建议4:不建议把上传文件按内容存放于各自的文件夹,除非文件少。因为同一目录下有太多文件时(比如超过10000个),系统检索速度会变慢
,无论linux还是windows。
建议5:如果建了子目录,通常需要把路径也存放于数据库中。
例子1:
http://localhost/command/peixun/upload/1.php
普通的上传文件的代码,上传完之后可以到文件夹中检查一下是否真的上传了。
例子2
参考来源;http://www.phpletter.com/Our-Projects/AjaxFileUpload/
使用了jquery库和一个jquery插件ajaxfileupload
测试url
http://localhost/command/peixun/upload/2.php
用js来上传文件,客户端代码变了,但服务端代码完全不变。
代码可下载
1.php
2.php
示例代码下载页http://xieye.iteye.com/blog/1336095
可以使用户上传文本和二进制文件。用 PHP 的认证和文件操作函数,可以完全控制允许哪些人上传以及文件上传后怎样处理。
相关的设置: 请参阅 php.ini 的
file_uploads,
upload_max_filesize,
post_max_size = 8M,
upload_tmp_dirpost_max_size
以及 max_input_time
设置选项
默认情况下,php的配置允许上传,而且文件大小不能超过2M。
php上传需要构建特殊表单,其实就是表单多了一个属性 enctype="multipart/form-data",还有表单元素中多了一个file元素。
在服务端需要使用move_uploaded_file 函数,并有一个$_FILE超全局变量可用。
以下抄自php手册
<<<
$_FILES['userfile']['name']
客户端机器文件的原名称。
$_FILES['userfile']['type']
文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
$_FILES['userfile']['size']
已上传文件的大小,单位为字节。
$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。
$_FILES['userfile']['error']
和该文件上传相关的错误代码。此项目是在 PHP 4.2.0 版本中增加的。
>>>
建议1:实际应用中用户上传的文件不应与程序放在同一目录(那是个糟糕的习惯),本教程为简单起见放到了一起。
建议2:为系统安全,总是应该给上传文件重命名,如需保存原文件名,可以保存到数据库。
建议3:如果用户经常会上传文件,则应该在某个目录下建子目录,如uploadfile目录下有20120102,20120103等按天的目录,
用户上传的文件按天存放在各自的目录中。
建议4:不建议把上传文件按内容存放于各自的文件夹,除非文件少。因为同一目录下有太多文件时(比如超过10000个),系统检索速度会变慢
,无论linux还是windows。
建议5:如果建了子目录,通常需要把路径也存放于数据库中。
例子1:
http://localhost/command/peixun/upload/1.php
普通的上传文件的代码,上传完之后可以到文件夹中检查一下是否真的上传了。
例子2
参考来源;http://www.phpletter.com/Our-Projects/AjaxFileUpload/
使用了jquery库和一个jquery插件ajaxfileupload
测试url
http://localhost/command/peixun/upload/2.php
用js来上传文件,客户端代码变了,但服务端代码完全不变。
代码可下载
1.php
<?php //第一个例子 require_once('../Public/CommandLine.php'); $isget = ($_SERVER['REQUEST_METHOD'] == 'GET') ? 1 : 0; if ($isget) { $html = <<<longs <html> <body> <form method="post" enctype="multipart/form-data" > 请选择文件:<input type="file" name="file1" > <br /> <input type="submit" value="提交" /> </form> </body> </html> longs; echo $html; } else { $file = $_FILES['file1']; $oldname = $file['tmp_name']; $result = move_uploaded_file($oldname, $file['name']);//可以随意替换名称 echo $file['name'] . '上传成功,请到当前文件夹下去检查'; }
2.php
<?php //第一个例子 require_once('../Public/CommandLine.php'); $isget = ($_SERVER['REQUEST_METHOD'] == 'GET') ? 1 : 0; if ($isget) { $html = <<<longs <html> <link href="ajaxfileupload.css" type="text/css" rel="stylesheet"> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> <script type="text/javascript" src="ajaxfileupload.js"></script> <script type="text/javascript"> function ajaxFileUpload() { $("#loading") .ajaxStart(function(){ $(this).show(); }) .ajaxComplete(function(){ $(this).hide(); }); $.ajaxFileUpload ( { url:'2.php', secureuri:false, fileElementId:'fileToUpload', dataType: 'json', success: function (data, status) { alert('上传成功') }, error: function (data, status, e) { alert(e); } } ) return false; } </script> </head> <body> <div id="content"> <h1>Ajax文件上传示例</h1> <img id="loading" src="loading.gif" style="display:none;"> <form name="form" action="" method="POST" enctype="multipart/form-data"> <input id="fileToUpload" type="file" size="45" name="fileToUpload" class="input"> <br /> <button class="button" id="buttonUpload" onclick="return ajaxFileUpload();">Upload</button> </form> </div> </body> </html> longs; echo $html; } else { //注意:这里是不显示的。 $file = $_FILES['fileToUpload']; $oldname = $file['tmp_name']; $result = move_uploaded_file($oldname, $file['name']);//可以随意替换名称 echo '{}'; }
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 680本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 815centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1225本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 1449列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 493期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 1095ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 814一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 635coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 893deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 646假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 882php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 963php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 658根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 829phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 424如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 779方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 820在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 697整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 891最新版本的php的redis插件,版本是5.0 但是可能会有 ...
相关推荐
1. **文件上传基础** 文件上传是将本地计算机上的文件发送到服务器的过程。在Web应用中,通常通过HTML表单配合`<input type="file">`元素来选择和提交文件。用户选择文件后,这些文件会作为HTTP请求的一部分发送到...
网络安全基础中的文件上传漏洞是网络应用安全领域一个重要的知识点,尤其在Web开发中,它涉及到服务器的安全性与用户数据的保护。文件上传漏洞允许恶意用户上传可执行代码或恶意文件到服务器,从而可能控制服务器...
综上所述,这20个实例文件涵盖了从基础到进阶的PHP文件上传和下载技术,可以帮助开发者更好地理解和应用这些概念,为实际项目开发提供参考。通过学习和研究这些源码,可以提升PHP文件操作的能力,提高代码质量和安全...
本文将围绕“PHP基础知识树形图”展开,深入探讨PHP的核心概念、语法、数据类型、控制结构、函数、数组、类与对象、错误与异常处理以及文件操作等关键知识点。 1. **PHP基础概念** - PHP是嵌入在HTML中的,用于...
1. PHP基础:FFS5-Mini系统是用PHP语言编写的,这表明你需要对PHP有基本的理解,包括变量、数据类型、流程控制、函数等基础知识。PHP是一种广泛使用的服务器端脚本语言,尤其适用于Web开发,能够与HTML紧密集成。 2...
在Android应用开发中,...这个过程中涉及的技能包括Android网络编程、PHP文件处理以及服务器配置,都是开发者必备的基础知识。在实际项目中,你可能还需要考虑更多因素,如性能优化、用户体验以及更复杂的服务器逻辑。
开发者需要掌握PHP基础知识,了解Web开发原理,熟悉文件I/O操作,并考虑安全性与性能优化,才能构建出高效、易用的文件管理系统。通过不断学习和实践,你可以根据自己的需求定制出满足特定场景的文件管理系统。
1. **PHP基础知识**:PHP是一种开源的服务器端脚本语言,广泛用于Web开发,可以嵌入到HTML中。它提供了丰富的内置函数和类库,支持文件操作,如读取、写入、删除和上传。 2. **Linux环境**:Linux是一种多用户、多...
在PHP中,文件上传是网站常见功能之一,用于让用户上传图片、文档等...理解这些基础知识对于开发涉及文件上传功能的PHP应用至关重要。无论是原生PHP还是使用框架,都要确保正确处理文件上传以保证数据安全和用户体验。
FFS5-Mini是一款基于PHP开发的快速文件分享系统,旨在提供便捷的文件上传、存储和分享服务。这款系统能够帮助用户轻松实现个人或团队之间的文件共享,特别适合小型项目或者团队协作环境。通过分析其源码,我们可以...
**PHP Sockets基础知识** PHP Sockets是一种允许PHP程序与网络上的其他程序进行低级别通信的接口。它基于Berkeley Sockets API,提供了创建、监听和连接到套接字的能力。在文件分段上传中,服务器端需要监听一个...
5. 安全性:FFS5-Mini 应该包含了安全措施,例如防止SQL注入、XSS攻击,以及文件上传的安全过滤,确保用户上传的文件不含有恶意代码。同时,可能采用了HTTPS加密传输,保护用户数据在传输过程中的安全性。 6. 文件...
以上就是基于PHP的文件上传DEMO所涉及的主要知识点。通过这个DEMO,你可以学习到如何在PHP环境中实现一个基本的文件上传功能,同时也能了解到其中的安全注意事项。对于初学者,这是一个很好的起点,可以在此基础上...
以下是一些关于PHP文件上传进度条的知识点: 1. **AJAX异步上传**:传统的文件上传通常会刷新整个页面,而通过AJAX技术,可以实现在后台进行文件上传,前端页面保持不刷新,从而实现进度条展示。在PHP中,通常会...
在PHP中,文件上传是网站应用中常见的功能之一,它允许用户通过网页上传文件到服务器。下面我们将详细探讨PHP文件上传的标准代码实现及其工作原理。...通过理解这些基础知识,你可以编写出安全、可靠的文件上传功能。
首先,我们来探讨PHP在文件上传中的基础知识。在PHP中,文件上传主要依赖于HTTP协议的POST方法,通过`<form>`标签的`enctype="multipart/form-data"`属性来启用。文件上传的数据会被分割成多个部分,每个部分都有一...
1. **PHP文件上传基础**: PHP提供了`$_FILES`全局数组,用于存储上传文件的相关信息,包括文件名、类型、大小、临时存储路径以及错误信息。当用户通过HTML表单提交文件时,这些信息会被自动填充。 2. **HTML表单...
文件,包括设置PHP的扩展、错误报告级别、文件上传限制等。 3. **整合Apache与PHP**:将PHP的`php.ini`文件复制到Apache目录,调整配置使得Apache能够识别PHP脚本。通常需要修改Apache的配置文件(如httpd.conf),...
1. 文件上传:TP5提供了内置的文件上传功能,可以轻松处理文件上传操作。通过`request`对象的`file`方法获取上传文件,然后通过`move`方法移动文件到指定目录,实现文件上传。 2. 分类管理:为了实现文件的分类存储...
1. **PHP基础知识**:PHP是一种广泛使用的服务器端脚本语言,用于开发动态网页和Web应用程序。在这个项目中,PHP主要负责接收前端提交的文件数据,处理上传请求,以及保存文件到服务器。 2. **AJAX异步上传**:无...