php代码上传图片以后不显示格式,PHP图片文件上传实现代码后台上传

这篇博客介绍了PHP实现文件上传的流程,包括检查文件夹权限、移动上传文件、使用伪随机函数生成加密文件名,以及将文件信息存入数据库。加密过程中结合用户密匙确保安全性,同时强调了对上传文件类型的合法性检查。
摘要由CSDN通过智能技术生成

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

define(UPLOAD_ROOT,'你的上传文件夹路径');

function fake_random_name($string,$key){

#伪代码 随便根据用户名和上传时间生成一个伪随机的文件名作为上传以后的用户名

#但解码的条件是可以根据文件名判断出文件所有者的用户名和上传时间

#需要从数据库取出用户的密匙 才能进行解密 密匙是用户名的前5个字符

#具体加密解密的代码实现 请参照PHP标准扩展库 Mcrypt扩展下的N种方法

return $fake_random_name;

}

if(!is_writbale(UPLOAD_ROOT)){

die('you need chown the dir for your uploading file,make it writable~');

}else{

move_uploaded_file($_FILES['POST过来的表单名']['tmp_name'];

/*

* 这个方法会自动调用is_upload_file()方法 检测是否是合法的http rfc1867协议上传的文件

* 当然了 你也可以限制是否是你需要的合法文件类型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以

*/

$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include进来 DSN放到根目录以外去 保护连接文件

$sec_key = substr($_SESSION['loginname'],0,5);

#密匙

$file_name = fake_random_name($_FILES['POST过来的表单名']['tmp_name'],$sec_key);

#加密后的名字

$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT。

DIRECTORYSLASH。$file_name))";/SQL

$dbh->query($q_str);

if($dbh->num_rows()==1) echo "上传成功,已经插入数据库文件细节(加密)";。

全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值