PHP的SESSION使用,文件上传下载等

PHP中Session的使用:
1. session_start():
初始化session,如果页面要使用session,必须先使用这句话,否则会报错。
告诉服务器使用session。一般来说,php是不会主动使用session的。
不过可以设置php.ini中的session.auto_start=1来自动对每个请求使用。
而用了session_start(),或者自动开启session,
服务器会根据请求头部传来的cookie中或url中的PHPSESSID来确认此sessionid对应的$_SESSION数组。
2. session_register("sessionName"):注册一个名字叫sessionName的session
3. $_SESSION["sessionName "].=”asdfasdf”:给已经注册了的session添加值
4. session_unregister("sessionName "); //注销session


PHP文件上传步骤:
1. 使用form表单上传文件,注意enctype的属性值必须是:multipart/form-date,意思是使用二进制的形式传递表单中的数据
2. 跳转之后使用:$_FILES["uploadFile"]接收到上传的文件
3. 保存需要的数据完成上传

Move_uploaded_file($uploadFile["tmp_name"], "./uploadFile/".$name)):
保存的路径必须以“.”开头,表示当前目录
Move_uploaded_file会事先检测是否是合法的上传的文件,否则不移动,只能移动从浏览器上传的文件
Copy将文件拷贝到目的地

上传文件时中文文件名乱码: 一般状况下上传以中文为文件名的文件会出现乱码: 寮€鍚疢ySql杩滅▼鐧婚檰.txt
只需要使用iconv(fromEncoding,toEncoding,filename)方法就可以
$filename=iconv("utf-8","gbk",$filename); //从utf-8转gbk
同样的,在文件下载的时候也会出现乱码问题,同样使用这个方法解决。


文件下载:
$sql=mysql_query("select * from tb_soft where id='".$id."'",$conn);
$info=mysql_fetch_array($sql);
$path=$info[address];
$filename=basename($path);
$file=fopen($path,"r");
header("Content-type:application/octet-stream");
header("Accept-ranges:bytes");
header("Accept-length:".filesize($path));
// Content-Disposition 报头用于提供一个推荐的文件名,并强制浏览器显示保存对话框
header("Content-Disposition:attachment;filename=".$filename);
echo fread($file,filesize($path));
fclose($file);
exit;


PHP时间与系统时间不匹配:
方法一:
打开php.ini文件,一般在PHP的安装根目录下 
找到其中的;date.timezone 
删掉date.timezone前面的分号,并改成date.timezone = PRC 
存盘,并重新启动Apahce服务。
方法二:
在程序前面加上date_default_timezone_set(PRC);
例如:
<?php
date_default_timezone_set(PRC);
echo date("Y-m-d H:i:s");
?> 

转载于:https://my.oschina.net/u/185335/blog/57689

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值