Time of Update: 2017-01-19
一、date與gmdate有什麼區別?PHP時間函數中有兩個格式化函數:date()和gmdate(),在官方的文檔中的描述為:複製代碼 代碼如下:date() #— 格式化一個本地時間/日期gmdate() #— 格式化一個 GMT/UTC 日期/時間,返回的是格林威治標準時(GMT)。先來舉個例子,我們現在所在的時區是+8,那麼伺服器運行以下指令碼返回的時間應該是這樣的:目前時間假定是2013-03-14 12:15:27複製代碼 代碼如下:echo date('Y-
Time of Update: 2017-01-19
PHP常量預設為大小寫敏感。傳統上常量標識符總是大寫的。PHP常量名和其它任何 PHP 標籤遵循同樣的命名規則。合法的常量名以字母或底線開始,後面跟著任何字母,數字或底線。用Regex是這樣表達的:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*。複製代碼 代碼如下:<?php// 合法的常量名define("FOO", "something");define("FOO2",
Time of Update: 2017-01-19
在PHP中至少有兩個函數能夠協助我們快速實現數字補零:首先是PHP str_pad函數:複製代碼 代碼如下:#str_pad — 使用另一個字串填充字串為指定長度顧名思義這個函數是針對字串,對指定的字串填補任何其它的字串str_pad參數說明:複製代碼 代碼如下:string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]]
Time of Update: 2017-01-19
在PHP程式運行過程中如果有錯誤發生,在瀏覽器上是否顯示錯誤資訊,以及顯示錯誤資訊的層級是我們在程式開發、調試、運營過程中需要控制的。下面就通過設定php.ini,控制PHP錯誤資訊(errors)的屏蔽和顯示作如下說明:1、錯誤資訊是否顯示 複製代碼 代碼如下:顯示錯誤 display_errors = On 屏蔽錯誤 display_errors = Off
Time of Update: 2017-01-19
關於spl_autoload_register()和__autoload(),相信大多數都會選擇前者了? 看兩者的用法:複製代碼 代碼如下://__autoload用法function __autoload($classname){ $filename = "./class/".$classname.".class.php"; if (is_file($filename)) {
Time of Update: 2017-01-19
首先說說cron,它是一個linux下的定時執行工具。根使用者以外的使用者可以使用 crontab 工具來配置 cron 任務。所有使用者定義的 crontab 都被儲存在/var/spool/cron 目錄中,並使用建立它們的使用者身份來執行。要以某使用者身份建立一個 crontab 項目,登入狀態該使用者,然後鍵入 crontab -e 命令來編輯該使用者的 crontab。該檔案使用的格式和 /etc/crontab 相同。當對 crontab 所做的改變被儲存後,該 crontab
Time of Update: 2017-01-19
直到最近,要做一個網頁小偷程式的時候才發現file_get_content已經完全不能滿足需求了。我覺得,在讀取遠程內容的時候,file_get_content除了使用比curl便捷以外,其他都沒有curl好。主要區別:學習才發現,curl支援很多協議,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT,
Time of Update: 2017-01-19
逐風整理了兩種方式,大家可以自行參考/使用: 複製代碼 代碼如下:#方式一$ch = curl_init('http://www.jb51.net');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_exec($ch);echo curl_getinfo($ch, CURLINFO_HTTP_CODE); // 200curl_close($ch);方式二複製代碼 代碼如下:print_r(
Time of Update: 2017-01-19
一個優秀的PHP程式員除了要能順利的編寫代碼,還需要具備使程式處於安全環境下的能力。今天我們要向大家講解的是有關PHP防範SQL注入的相關方法。說到網站安全就不得不提到SQL注入(SQL Injection),如果你用過ASP,對SQL注入一定有比較深的理解,PHP的安全性相對較高,這是因為MYSQL4以下的版本不支援子語句,而且當php.ini裡的 magic_quotes_gpc 為On 時。提交的變數中所有的 ' (單引號), " (雙引號), \ (反斜線) and Null
Time of Update: 2017-01-19
一個簡單的php檔案下載原始碼,雖不支援斷點續傳等,但是可以滿足一些常用的需求了。php下載檔案其實用一個a標籤就能實現,比如 <a href="web/magento-1.8.1.0.zip">magento-1.8.1.0.zip</a> 。但是遇到一些瀏覽器能識別的格式,比如.txt,.html,.pdf等,再用<a href="web/abc.txt">abc.txt</a> 想必也知道會發生什麼了。複製代碼 代碼如下:<?php /
Time of Update: 2017-01-19
抓取遠程內容,之前一直都在用file_get_content函數,其實早就知道有curl這麼一個好東西的存在,但是看了一眼後感覺使用頗有些複雜,沒有file_get_content那麼簡單,再就是需求也不大,所以沒有學習使用curl。直到最近,要做一個網頁小偷程式的時候才發現file_get_content已經完全不能滿足需求了。我覺得,在讀取遠程內容的時候,file_get_content除了使用比curl便捷以外,其他都沒有curl好。php中curl和file_get_content的一些
Time of Update: 2017-01-19
本文章要介紹了這篇文章是一篇關於php流下載,就是可以支援分塊與斷點續傳檔案下載,有需要的朋友可以看看。代碼如下 複製代碼 代碼如下: $dowmFile = dirname ( __FILE__ ) . ‘/Nokia – Always Here.mp3′; //要下載的檔案,絕對或相對 $dowmName = ‘Nokia – Always Here.mp3′; ob_start (); getlocalfile ( $dowmFile, $dowmName ); flush (); ob_
Time of Update: 2017-01-19
當調試開源的代碼時,希望查看某個函數的定義,那麼就需要定位其位置。在 zend studio 這樣的 IDE 中自是可以自動提示到,但當沒有安裝這樣的開發工具時,我們可以怎麼辦呢?參考如下一段代碼,或許就包含你所需的。複製代碼 代碼如下:<?phpfunction a() {}class b { public function f() { }}function function_dump($funcname)
Time of Update: 2017-01-19
如下代碼為PHP方式去除目前的目錄及子目錄所有檔案BOM資訊的代碼,建立檔案,將其放倒根目錄下,然後瀏覽器訪問即可。<?phpif (isset($_GET['dir'])) { //設定檔案目錄 $basedir = $_GET['dir'];} else { $basedir = '.';}$auto = 1;checkdir($basedir);function checkdir($basedir){ if ($dh = opendir($basedir)) {
Time of Update: 2017-01-19
代碼審計比較有意思的例子貌似是去年 ecshop支付漏洞偶然出來的一個例子,感覺不錯。分享下複製代碼
Time of Update: 2017-01-19
分享一個php短網址的產生代碼。 複製代碼 代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>urlShort</title> </head> <body> <form action="urlShort.php" method="post"> <input type="text"
Time of Update: 2017-01-19
其實,這是一個非常容易解決掉的問題。在我看來,似曾相識,呵呵,最近學JavaScript可是學會了使用var聲明變數。其實,在PHP中根本不需要使用var聲明的,但是當一個變數作為一個類的成員變數的時候,使用var還是沒有問題的。在外部使用var就報錯Parse error: syntax error, unexpected T_VAR in...,例如我的出錯資訊:Parse error: syntax error, unexpected T_VAR in
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php $keyword="asp php,jsp"; $keyword=str_replace(" "," ",$keyword); $keyword=str_replace(" ",",",$keyword); $keyarr=explode(',',$keyword); for($index=0;$index<count($keyarr);$index++) { $whereSql .= " And (arc.title like '%$keyarr[$
Time of Update: 2017-01-19
對於zip檔案網上的例子很多,rar檔案解壓php沒有直接支援,可以用pecl到http://pecl.php.net/package/rar 下載對應版本的 非安全執行緒的dll然後扔到php的 ext目錄下。 開啟php.ini. 加一行 extension=php_rar.dll 重啟web伺服器 和php 複製代碼 代碼如下: public function _unzip($fileName,$extractTO){ $fileName = iconv('utf-8','gb2312',
Time of Update: 2017-01-19
網上很多人給出瞭解答:修改設定檔中的session.gc_maxlifetime。如果想瞭解更多session回收機制,繼續閱讀。(本文環境php5.2) 概述:每一次php請求,會有1/100的機率(預設值)觸發“session回收”。如果“session回收”發生,那就會檢查/tmp/sess_*的檔案,如果最後的修改時間到現在超過了1440秒(gc_maxlifetime的值),就將其刪除,意味著這些session到期失效。 1. session在端(一般是 with PHP