1.php简化版的图片上传(没有各种验证)

1
2
3
4
<form action="" enctype="multipart/form-data" method="post" >
        请选择需要上传的文件:<input type="file" name="upfile" /><br>
        <input type="submit" value="上传" />
</form>

首先我们需要在form表单中加入 enctype=”multipart/form-data”表示声明表单中会有图片发送, action=”” 表示当前页面提交,method=”post”传输方式为post

1
2
3
4
5
6
7
8
9
10
11
12
<?php
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$name=$upfile['name'];
$tmp_name=$upfile["tmp_name"];//上传文件的临时存放路径
move_uploaded_file($tmp_name,'up/'.$name);
echo "上传成功";
}
else{
    echo "您还没有上传文件";
}
?>

关键词总结
is_uploaded_file 表示验证文件是否是通过 HTTP POST 上传的,条件成立才可以正常上传
$_FILES[‘upfile’][‘tmp_name’]) 表示获取到当前传输图片的本地位置
move_uploaded_file($tmp_name,’up/’.$name); ,该方法有两个参数,第一个为上传的文件的文件名,第二个为移动文件到这个位置

2. 文件的写入与读取
首先介绍写入:

1
2
3
4
        $myfile = fopen("comment/" .time().'-'. rand(0, 1000) . ".comment", "a") or die("Unable to open file!");
        $txt = time().'<br />';
        fwrite($myfile, $txt);
        fclose($myfile);

其中fopen函数的作用为写入数据,第一个参数为写入文件具体路径,第二个表示将读取到得数据放入该文件中,其中文件名采用时间戳加上随机数构成,后缀名为comment,a表示写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建它,or die表示执行失败,就执行Unable to open file!(无法打开文件)。
第二句表示数据,数据可以是post传输的,也可以是get,随意
第三句fwrite表示写入文件,第一个参数为写入文件的位置,第二个为要写入的数据
第四句表示关闭该文件,表示写入完毕,本次执行完毕

1
2
3
4
5
6
7
8
9
10
$list = glob("comment/*.comment");
rsort($list);
for ($i = 0; count($list) > $i; $i++) {
    $file_path = $list[$i];
    if (file_exists($file_path)) {
        $fp = fopen($file_path, "r");
        $str = fread($fp, filesize($file_path));//指定读取大小,这里把整个文件内容读取出来
        echo $str = str_replace("\r\n", "<br />", $str);
    }
}

在介绍读取:

关键语句为

第一句:首先使用(glob)先找到需要读取的文件,如果有很多符合条件的文件,那么他们将会使用数组进行保存,读取的时候使用遍历数组就可以了
第二句: rsort为降序排序,主要是为了满足特定条件下的排序,例如按照发布时间
第三句:因为可以通过var_dump,print等知道glob是以数组的形式保存路径的,所以我们使用count算出总数,然后一条条遍历,便可以得到需要读取的文件路径
第四句:$file_path获取文件路径
第五句:file_exists判断文件是否存在
第六句:fopen读取该文件,并且以只读的方式打开
第七句:fread第一个参数表示读取的东西,第二个表示读取的文件的大小,这里也就表示有多少读多少
第八句:str_replace替换函数,表示将$str中的所有的\r\n都替换成br(表示换行,换成网页中的换行)

简易版php文件上传_超详细详解的更多相关文章

  1. FasfDFS整合Java实现文件上传下载功能实例详解

    https://www.jb51.net/article/120675.htm 在上篇文章给大家介绍了FastDFS安装和配置整合Nginx-1.13.3的方法,大家可以点击查看下. 今天使用Java ...

  2. PHP文件上传代码和逻辑详解

    文件上传的逐步完善------ [简单的上传:]   <form action="upload.php"  method="post"  enctype= ...

  3. JS文件上传神器bootstrap fileinput详解

    Bootstrap FileInput插件功能如此强大,完全没有理由不去使用,但是国内很少能找到本插件完整的使用方法,于是本人去其官网翻译了一下英文说明文档放在这里供英文不好的同学勉强查阅.另外附上一 ...

  4. 【转】JQuery上传插件Uploadify使用详解及错误处理

    转自:http://www.jb51.net/article/43498.htm 关于JQuery上传插件Uploadify使用详解网上一大把,基本上内容都一样.我根据网上的步骤配置完成后,会报一些错 ...

  5. 转 虫师的selenium借助AutoIt识别上传(下载)详解

    selenium借助AutoIt识别上传(下载)详解 2014-12-27 11:26 by 虫师, 755 阅读, 1 评论, 收藏,  编辑 AutoIt目前最新是v3版本,这是一个使用类似BAS ...

  6. indows下PHP通过ffmpeg给上传的视频截图详解

    windows下PHP通过ffmpeg给上传的视频截图详解,php_ffmpeg.dll安装下载,找了很久php_ffmpeg.dll的下载地址和应用,发现有用的资源很少,现在问题解决了,贴出来跟大家 ...

  7. apache_fileupload实现文件上传_上传多个文件

    1.导包 核心类: DiskFileItemFactory – 设置磁盘空间,保存临时文件.只是一个具类. ServletFileUpload  - 文件上传的核心类,此类接收request,并解析r ...

  8. JS_单个或多个文件上传_不支持单独修改

    A-From表单直接填写提交地址,不过干预: 1. 单文件上传 最简单的文件上传,是单文件上传,form标签中加入enctype="multipart/form-data",for ...

  9. django——文件上传_分页_ajax_富文本_celery

    上传文件 概述 当Django在处理文件上传时,文件的数据被存储在request.FILES属性中 FILES只有在请求的方法为POST且提交的form表单带有enctype="multip ...

随机推荐

  1. 一、VUE基础回顾1

    1.v-if和v-show v-if 和v-show都可以显示和隐藏元素: 区别:(1)v-if初始值为false那么这个元素不会被渲染 ,v-show不管初始值为何值都会被渲染 (2)v-if是控制 ...

  2. 前端Q的小小小里程碑

    很多关注我的人都不太了解前端Q这个名字的由来,这篇文章就来讲讲前端Q的前世今生,顺便送大大福利(文末有惊喜),哈哈-- 恭喜!前端Q总用户数突破千啦~~ 前端Q前世 前端Q这个公众号,其实很早很早的时 ...

  3. nginx配置不当容易产生的安全问题

    nginx一般用于做外网代理,配置也比较方便,但是配置不当的时候会产生一些安全问题.其中包括各个大厂也都出现过. intra server ->  proxy -> nginx 一般正常的 ...

  4. shell脚本遇到问题"$'\r': command not found"

    shell脚本写得一切正常,但是一执行就报错: line: XXX "$'\r': command not found" 问题原因:文件格式问题(虽然在window和linux上选 ...

  5. HTTP协议那些事儿

    HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的基础. ...

  6. np.random 系列函数

    1 random()   # 产生区间 [0, 1) 均匀分布的浮点数样本值 np.random.seed(42) 2 rand(d0, d1, ..., dn)    # 产生区间 [0, 1) 均 ...

  7. CEF 拦截打开超链接事件

    使用 CEF 加载指定页面后,如果你希望控制页面在打开超链接时根据自己预定义的一些行为来操作,比如在自己的 UI 框架中新建一个 Tab 页又或者阻止打开新的页面等.我们就需要通过 CEF 提供的两个 ...

  8. python基础语法19 面向对象总结,pickle保存对象注意事项

    面向对象的三大特性: 继承,封装,多态 多态的三种表现形式:鸭子类型,继承父类,继承抽象类 pickle保存对象注意事项 class Foo: y = 20 def __new__(cls, *arg ...

  9. python scapy中sniffer的用法以及过滤器

    Sniff方法定义: sniff(filter="",iface="any", prn=function, count=N) 1.filter的规则使用 Ber ...

  10. Pycharm过期了怎么办?

    Pycharn过期了,打开Pycharm,选择help,倒数第三个register,用激活码进行激活,具体情况见激活码,侵删