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中上传文件的更多相关文章

  1. vue中上传文件之multipart/form-data

    首先在项目里用了拦截器的,由于拦截器会将传递的参数转成对象,所以你i提交的时候会发现multipart/form-data或转变成application/json 其次关于input的文件上传是需要一 ...

  2. 【解决】AWS服务控制台中上传文件失败

    使用IE 11,在 AWS Services Console 中不管是 S3 还是 Elastic Beanstalk 的页面中上传页面都会失败,提示信息如下: A problem occurred ...

  3. 谈谈php中上传文件的处理

    这是一个表单的时代... 我们在浏览器中编辑自己的信息,会遇到上传头像:在文库中,我们会上传文档......到处存在“上传”这个词. php是最好的语言(其他语言的程序猿们不要打我...).php在处 ...

  4. ASP.Net中上传文件的几种方法

    在做Web项目时,上传文件是经常会碰到的需求.ASP.Net的WebForm开发模式中,封装了FileUpload控件,可以方便的进行文件上传操作.但有时,你可能不希望使用ASP.Net中的服务器控件 ...

  5. 现在,以编程方式在 Electron 中上传文件,是非常简单的!

    必要的上下文 想尽快熟悉上下文语境的,可以点这里: https://github.com/electron/electron/issues/749 这段讨论,其实本来是讨论如何自动设置 input 标 ...

  6. element-ui中上传文件upload

    <el-upload class="upload-demo" name="targetFile" ref="upload" :with ...

  7. Mac/Linux/Centos终端中上传文件到Linux云服务器

      1.mac上传文件到Linux服务器  scp 文件名 用户名@服务器ip:目标路径 如:scp /Users/test/testFile test@www.linuxidc.com:/test/ ...

  8. vue中上传文件相同文件名没反应

    vue项目中会遇到上传文件的需求,jquery会有一些插件很方便,如果不使用插件网上的方法没有太容易的而且很多是原生JS或者基于jQuery操作dom结构的.那么在vue项目中如何实现呢,还有如何模拟 ...

  9. Java中上传文件和表单数据提交如何保持数据的一致性?

    学生申请学科竞赛活动,表单中有学科竞赛的申报信息和部分附件,需要做到将上传文件和表单数据提交保持一致性. 将上传文件和插入表单数据放到事务汇总去处理,由于表单的数据我们可以控制,但是上传的文档不好控制 ...

随机推荐

  1. zookeeper 节点讲解以及实际项目运用

    转自:https://www.jianshu.com/p/86acf1df6cdd 前言:最近工作不是很忙,本应该乘着闲暇的时间看书的,之前每天晚上都要翻翻的,可是自己竟然迷恋上了王晓磊 写的 卑鄙的 ...

  2. KEY操作续

    [KEY操作续] 1.UMP key 序列化给定 key ,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键. 序列化生成的值有以下几个特点: 它带有 64 位的校 ...

  3. python初步要点II

    [python初步要点II] 1.is & is not 操作符用于测试2个对象是否指向同一个对象,即 id(a) == id(b). 2.整形和字符串对象是不可变对象,python会高效地缓 ...

  4. tomcat服务编码集设置

    有三处需要记住修改 截图如下效果图: 第一处,对控制台右键,选择“默认值”找到,并设置为gbk: 第二处,在conf中找到server.xml文件并设置: 第三处:找到bin文件,找到tomcat80 ...

  5. METAL渲染是什么?

    METAL渲染是什么? Metal渲染是由苹果公司为iOS8以及更新版本开发的全新的底层渲染API.它侧重于减少GPU驱动的工作量,从而当Metal调用时,CPU的消耗将降至最低.这样一来,游戏就可以 ...

  6. 接雨水12 · Trapping Rain Water12

    [抄题]: Given n non-negative integers representing an elevation map where the width of each bar is 1, ...

  7. c#获取本地IP和MAC地址

    1>通过wmi获取 using System; using System.Management; using System.Net; public class Program { static ...

  8. Zookeeper 源码(五)Leader 选举

    Zookeeper 源码(五)Leader 选举 前面学习了 Zookeeper 服务端的相关细节,其中对于集群启动而言,很重要的一部分就是 Leader 选举,接着就开始深入学习 Leader 选举 ...

  9. linux git server 简易搭建 (ssh访问)

    git的服务器搭建,如果无需权限控制,仅团队内部使用,初始化一个服务器仓库,其他人通过ssh访问这个文件夹即可.如需复杂的管理,建议使用gitlab. yum install git -y id gi ...

  10. 在sublime text中添加JavaScript的build-system

    -step 1: 下载安装node.js, 并添加到path变量中. -step 2: 在sublime text中新建一个build-system. tools --> build-syste ...