(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就可以了。              

最新文章

  1. jQuery中取消后续执行内容
  2. cassandra-replication_factor 和 consistency level
  3. 12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)
  4. 对端口Com1的访问被拒绝
  5. 事务隔离级别与传播机制,spring+mybatis+atomikos实现分布式事务管理
  6. ORACLE数据库 DBA常用知识
  7. 进程间通信——IPC之共享内存
  8. python复习基本知识
  9. win10安装VMware v14.1.1.28517
  10. vue手把手教你实现走马灯商品左右轮播图
  11. Java高级教程02
  12. Dev-Tips
  13. MySQL--详细查询操作(单表记录查询、多表记录查询(连表查询)、子查询)
  14. 如何知道局域网内哪些ip被占用----工具法Free IP Scanner
  15. HDU 5521.Meeting 最短路模板题
  16. 基于spring-mybatis-data-common基架快速搭建web应用
  17. SQL Server 数值四舍五入,小数点后保留2位
  18. MySQL单行注释和多行释
  19. A1043 Is It a Binary Search Tree (25 分)
  20. IntelliJ IDEA问题总结

热门文章

  1. (转)Java并发编程:阻塞队列
  2. 直击JDD | 京东技术全景图首次展示 四大重磅智能技术驱动产业未来!
  3. 微信小程序常用代码(1)——tab切换
  4. docker入门1---docker的简介和安装
  5. Node.js—小试牛刀-创建目录
  6. Linux-常见信号介绍
  7. min25筛学习笔记
  8. 109.大型的csv文件的处理方式
  9. Paper Review: Epigenetic Landscape, Cell Differentiation 02
  10. XssFilter EscapeUtil