九,php中上传文件
1,php网页上传文件大小有限制的,默认最大2M。可以修改php.ini调节大小,upload_max_filesize = 2M。
网页上传使用http协议,上传大文件性能不好;有些公司做一个客户端软件,使用tcp协议,专门上传大文件的。
2,文件系统只识别GB2312,不识别utf-8,因此需要对中文进行转码。iconv("utf-8","GB2312",$fileNew),$fileNew是上传的我那件存放的路径。
3,上传的文件全部放在一个目录下是非常不明智的,可以将每个用户建一个文件夹,每个用户所有资料上传到其自己文件夹。
4,文件上传的实例
(1) 文件上传的页面
<form action="uploadProcess.php" enctype="multipart/form-data" method="post">
<input type="text" name="username"><br/>
上传文件:<input type="file" name="myFile"><br/>
<input type="submit" value="上传">
</form>
(2)处理上传请求
<?php
$username = $_POST['username'];
$myFile = $_POST['myFile']; //上传文件大小限制
if($_FILES['myFile']['size'] > 2 * 1024 * 1024){
echo '上传的文件不能大于2M!';
exit();
}
//上传文件格式限制
if($_FILES['myFile']['type'] != 'image/jpg' && $_FILES['myFile']['type'] != 'image/jpeg'){
echo'上传的文件只能是jpg格式!';
exit();
} $fileTmp = $_FILES['myFile']['tmp_name'];
if(is_uploaded_file($fileTmp)){
$fileNew = $_SERVER['DOCUMENT_ROOT'].$username;
if(!file_exists($fileNew)){ //每个用户上传文件有一个专门文件夹
mkdir($fileNew);
}
//防止上传同名文件,将上传文件改名字,修改后time()+rand(1,1000)+.原文件后缀名
$fileLast = substr($_FILES['myFile']['name'],strrpos($_FILES['myFile']['name'],"."));
$fileNew = $fileNew."/".time().rand(1,1000).$fileLast; if(move_uploaded_file($fileTmp,iconv('utf-8','GB212',$fileNew))){
echo '上传成功!';
}else{
echo '文件从临时目录转移到新目录失败!';
}
}else{
echo '文件没有上传!';
}
九,php中上传文件的更多相关文章
- vue中上传文件之multipart/form-data
首先在项目里用了拦截器的,由于拦截器会将传递的参数转成对象,所以你i提交的时候会发现multipart/form-data或转变成application/json 其次关于input的文件上传是需要一 ...
- 【解决】AWS服务控制台中上传文件失败
使用IE 11,在 AWS Services Console 中不管是 S3 还是 Elastic Beanstalk 的页面中上传页面都会失败,提示信息如下: A problem occurred ...
- 谈谈php中上传文件的处理
这是一个表单的时代... 我们在浏览器中编辑自己的信息,会遇到上传头像:在文库中,我们会上传文档......到处存在“上传”这个词. php是最好的语言(其他语言的程序猿们不要打我...).php在处 ...
- ASP.Net中上传文件的几种方法
在做Web项目时,上传文件是经常会碰到的需求.ASP.Net的WebForm开发模式中,封装了FileUpload控件,可以方便的进行文件上传操作.但有时,你可能不希望使用ASP.Net中的服务器控件 ...
- 现在,以编程方式在 Electron 中上传文件,是非常简单的!
必要的上下文 想尽快熟悉上下文语境的,可以点这里: https://github.com/electron/electron/issues/749 这段讨论,其实本来是讨论如何自动设置 input 标 ...
- element-ui中上传文件upload
<el-upload class="upload-demo" name="targetFile" ref="upload" :with ...
- Mac/Linux/Centos终端中上传文件到Linux云服务器
1.mac上传文件到Linux服务器 scp 文件名 用户名@服务器ip:目标路径 如:scp /Users/test/testFile test@www.linuxidc.com:/test/ ...
- vue中上传文件相同文件名没反应
vue项目中会遇到上传文件的需求,jquery会有一些插件很方便,如果不使用插件网上的方法没有太容易的而且很多是原生JS或者基于jQuery操作dom结构的.那么在vue项目中如何实现呢,还有如何模拟 ...
- Java中上传文件和表单数据提交如何保持数据的一致性?
学生申请学科竞赛活动,表单中有学科竞赛的申报信息和部分附件,需要做到将上传文件和表单数据提交保持一致性. 将上传文件和插入表单数据放到事务汇总去处理,由于表单的数据我们可以控制,但是上传的文档不好控制 ...
随机推荐
- Linux学习---linux的svn的配置与安装
1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion 3.检查是否安装成 ...
- Redis 与 Lua Script
[Redis Script] 1.EVAL script numkeys key [key ...] arg [arg ...] 从 Redis 2.6.0 版本开始,通过内置的 Lua 解释器,可以 ...
- Multithread之为什么spinlock必须是volatile?
[Multithread之为什么spinlock必须是volatile?] 1.编译器的优化 在本次线程内,当读取一个变量时,为提高存取速度,编译器优化时有时会先把变量读取到一个寄存器中:以后再取变量 ...
- ICG游戏:证明,先手不是必胜就是必败。
简介: ICG游戏:Impartial Combinatorial Games,公平的组合游戏. 以下是定义,来自网络,可能不够严谨: 1.两名选手:2.两名选手轮流行动,每一次行动可以在有限合法操作 ...
- vbs执行系统命令
首先说明一下,我的所有代码都是vbscript,jscript我没有研究过,不过我想也差不多. 关于最基础的语法比如变量的申明,分支,循环,函数的调用,等等这些我就不讲了,不懂得自己看一下. 1.我们 ...
- re 正则模块
re模块(* * * * *) 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列 ...
- advance shading--光源的类型
我们这里讨论的光源类型都有一个相同点,就是,我们考量的都是光源上的一个点,对于物体表面上一个点的影响,也就是说立体角趋近为零的情况. 这里光源分为两类,一类是方向光,假设光源在无限远处.另一类是点光源 ...
- ADO.NET DataTable的复制(clone)
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=test;Integrated Se ...
- kaggle-泰坦尼克号Titanic-3
根据以上两篇的分析,下面我们还要对数据进行处理,观察Age和Fare两个属性,乘客的数值变化幅度较大!根据逻辑回归和梯度下降的了解,如果属性值之间scale差距较大,将对收敛速度造成较大影响,甚至不收 ...
- foo是什么?
在英文程序员社区里,foo bar baz这些词是常用于作为占位符而使用的.要查wiki的话,这项更合适:http://en.wikipedia.org/wiki/Metasyntactic_vari ...