(1)那么既然看到文件即使上传成功,但是只是在脚本周期内有效,脚本只要结束(脚本结束其实很快的),文件就会自动消失,那么怎么才能永久存储文件呢:

 

 函数:

Move_uploaded_file(上传临时地址,目标地址);

 完成:

需要使用$_FILES数组,存储了上传的临时文件的信息,包括临时地址!

  为啥说$_FILE中存有文件的路径呢,可以看一下,我们$_FILE输出的信息

    每个上传的临时文件,

      有5个信息,

          name:原始文件名,

          type:类型,

          tmp_name,临时地址,

          error:是否有错误及错误类型,

          size:大小。

(2)那么怎么判断文件类型:(为啥判断文件类型,因为,假如你要用户传图片,人家偏偏不传图片,传的是音频文件,那么这样不符合要求的,我们就直接给他扼杀在摇篮)

    

 通常判断类型有两种方式:
()就是通过文件的后缀名,比如:~~~.mp3 ~~.png等等
()通过MIME方式,(我也不是很懂)(多用途internet邮件扩展):网络上传输资源时,使用的资源类型表示方法。
Text/html; image/png

那么截取后缀名方式(必须学会)

 ()strrchr(文件名变量,‘.’)    截取文件名中最后出现   .    的后面的字符串
()strchr(文件名变量,‘.’)截取文件中名中第一次出现 . 的后面的字符串

获得文件路径的函数(详情看手册):

 ()pathinfo()
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php'); echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?> 结果显示:
以上例程会输出: /www/htdocs/inc
lib.inc.php
php
lib.inc ()$_FILE的五个参数同样能得到文件的类型($_FILE['type'])和名字($_FILE['name'])。

一段代码:

 $a='x.y.z.png';
echo strrchr($a,'.');
echo "<pre>";
echo "<pre>";
echo "<pre>";
echo strchr($a,'.');

结果展示:

      

        

        

        

        

        

(3)怎么在脚本周期内,将那个临时文件保留下来,用  move_uploaded_file(源文件名,新文件地址+名字)

 index.php
<?php var_dump($_POST);
echo '<pre>';
echo "<pre>"; echo '<pre>';
echo "<pre>";
echo '<pre>';
echo "<pre>"; var_dump($_FILES);
move_uploaded_file($_FILES['picture']['tmp_name'],'./new_name.png');

    

    这个是将那个临时文件存在我的当前文件夹下,以new_name.png命名

开始我的当前文件夹目录情况:
                             然后我执行后             

          说明这个函数执行成功了

  数据库中存的是图片的地址,所以我们可以直接将图片的地址读出来,然后直接赋给img的src就可以了。              

96)PHP,文件上传(2)的更多相关文章

  1. java web学习总结(二十四) -------------------Servlet文件上传和下载的实现

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  2. (转载)JavaWeb学习总结(五十)——文件上传和下载

    源地址:http://www.cnblogs.com/xdp-gacl/p/4200090.html 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传 ...

  3. 可拖拽和带预览图的jQuery文件上传插件ssi-uploader

    插件描述:ssi-uploader是一款带预览图并且可以拖拽文件的jQuery ajax文件上传插件.该文件上传插件支持AJAX,支持多文件上传,可控制上的文件格式和文件大小,提供各种回调函数,使用非 ...

  4. SpringMVC 文件上传&拦截器&异常处理

    文件上传 Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的.Spring 用 Jakarta Commons FileUpload ...

  5. JavaWeb学习总结,文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  6. OAF_文件系列1_实现OAF文件上传和下载MessageFileUpload/MessageDownload(案例)

    20150707 Created By BaoXinjian

  7. [转]一个文件上传的jquery插件

    http://www.jb51.net/article/51547.htm 这篇文章主要介绍了使用ajaxfileupload.js实现ajax上传文件php版,需要的朋友可以参考下     无论是P ...

  8. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  9. 文件上传~Uploadify上传控件~续(多文件上传)

    对于Uploadify文件上传之前已经讲过一次(文件上传~Uploadify上传控件),只不过没有涉及到多文件的上传,这回主要说一下多个文件的上传,首先,我们要清楚一个概念,多文件上传前端Upload ...

  10. struts2文件上传,文件类型 allowedTypes

    struts2文件上传,文件类型 allowedTypes 1 '.a' : 'application/octet-stream', 2 '.ai' : 'application/postscript ...

随机推荐

  1. Centos配置NAT模式下的静态ip

    一.查看所在的ip段 点击 编辑-->虚拟网卡编辑器 选中vmware8网卡,点击 DHCP设置 二.编辑网卡配置文件 查看网卡 ip addr 命令打开配置文件 vi /etc/sysconf ...

  2. usr/sbin/inetd

    root 4 0.0 1344 1204? S 17:09 0:10 /usr/sbin/inetd 运行 Internet 超级 服务器,它负责监听 Internet sockets 上的连接,并调 ...

  3. Vue 集成环信 全局封装环信WebSDK 可直接使用

    2019-11-25更新 npm install --save easemob-websdk请直接使用官方安装方式即可.import WebIM from 'easemob-websdk' 以下是最开 ...

  4. POJ 1287 Networking【kruskal模板题】

    传送门:http://poj.org/problem?id=1287 题意:给出n个点 m条边 ,求最小生成树的权 思路:最小生树的模板题,直接跑一遍kruskal即可 代码: #include< ...

  5. JAVA初学者——逻辑运算符

    Hello!大家好,我是浩宇大熊猫~ 加油~充实每一天~ java里面的逻辑运算符有与(&).或(|).异或(^).非(!) 其实这些初高中数学课都学过哈,很简单~ public class ...

  6. 题解 P2382 【化学分子式】

    题目 不懂为什么,本蒟蒻用在线算法打就一直炸...... 直到用了"半离线"算法...... 一遍就过了好吗...... 某位机房的小伙伴一遍就过了 另一位机房的小伙伴也是每次都爆 ...

  7. @EnableWebMvc WebMvcConfigurer

    Spring注解@EnableWebMvc使用坑点解析 https://blog.csdn.net/zxc123e/article/details/84636521 @EnableWebMvc,Web ...

  8. c# 基础switct---case用于处理多条件的定值的判断

    题目:李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级,工资不变,如果定为D级工资降200元,如果定为E级工资降500元. 设李四原工资为5000,请用 ...

  9. PIL对象和numpy三维数组的互相转换

    #https://stackoverflow.com/questions/384759/how-to-convert-a-pil-image-into-a-numpy-array from PIL i ...

  10. PIL库参考文档之Image模块

    原文: https://pillow-cn.readthedocs.io/zh_CN/latest/reference/Image.html 中文版参考文档不全,所以自己试着翻译了一下,以下~备注部分 ...