PHP的SESSION使用,文件上傳下載等

openkk 12年前發布 | 5K 次閱讀 W3C

PHP中Session的使用:

  1. session_start(): </div>
    初始化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 </div>
  3. $_SESSION["sessionName "].=”asdfasdf”:給已經注冊了的session添加值 </div>
  4. session_unregister("sessionName "); //注銷session </div>


    PHP文件上傳步驟:
  5. 使用form表單上傳文件,注意enctype的屬性值必須是:multipart/form-date,意思是使用二進制的形式傳遞表單中的數據 </div>
  6. 跳轉之后使用:$_FILES["uploadFile"]接收到上傳的文件 </div>
  7. 保存需要的數據完成上傳 </div>

    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));
    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");
    ?>  
 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!