Time of Update: 2017-01-19
只要你寫過PHP代碼,相信都遇上過這個大多時候都令人莫明其妙的warning吧..今天我們就來搞定它............... 看了PHP手冊,回答如下: 訊息“Warning: Cannot send session cookie - headers already sent。。。”或者“Cannot add header information - headers already sent。。。”。 函數 header(),setcookie() 和 session
Time of Update: 2017-01-19
本文執行個體講述了PHP實現仿百度文庫,豆丁線上文檔效果。分享給大家供大家參考,具體如下:由於項目要實作類別似百度文庫的功能,又是我一個人做的項目,所以就想到找免費的現成的來使用。在網上找到的都是一樣的。如下:Flash Paper支援Office文檔(.doc,.xls,.ppt)直接轉換為PDF或SWF,速度很快,效果較好。可惜,Flash Paper V2.2後沒有再更新了。安裝Flash
Time of Update: 2017-01-19
array_multisort (PHP 4, PHP 5) array_multisort -- 對多個數組或多維陣列進行排序 說明 bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]] ) 如果成功則返回 TRUE,失敗則返回 FALSE。 array_multisort() 可以用來一次對多個數組進行排序,或者根據某一維或多維對多維陣列進行排序。
Time of Update: 2017-01-19
控制浮點數列印格式浮點數的列印和格式控制是sprintf 的一大常用功能,浮點數使用格式符”%f”控制,預設保留小數點後6 位元字,比如:複製代碼 代碼如下:sprintf("%f", 3.1415926); //結果:"3.141593"但,有時我們希望自己控制列印的寬度和小數位元,這時就應該使用:”%m.nf”格式,其中m 表示列印數位整體寬度,n 表示小數點後的位元。比如:複製代碼 代碼如下:sprintf(" %9.3f", 3.1415926);
Time of Update: 2017-01-19
曾找過一個JS版的,但是到了UTF8編碼裡不能用,於是就產生了自已寫一個的念頭。其實我這個代碼的實現原理很簡單的,只是一個替換字元集的過程,相信大部份人都可以寫得出來。以下是代碼,不知道有沒有bug,大家如果在使用上有問題,可以提出來 複製代碼 代碼如下: <?php //<meta charset=utf-8"> class utf8_chinese { private $utf8_gb2312; private $utf8_big5; public function
Time of Update: 2017-01-19
本文講述了PHP中__autoload和Smarty衝突的簡單解決方案。分享給大家供大家參考,具體如下:一、問題:最近,在項目中發現,PHP 的 __autoload 方法失效了。調試了好久,百思不得其解,查了下資料才知道原來是 Smarty 的原因。新版的 Smarty 改變了autoload的方式。二、解決方案:在 Smarty 的包含類檔案後加一段代碼,spl_autoload_register("__autoload");如下:<?php
Time of Update: 2017-01-19
複製代碼 代碼如下:<?phpdefine('DEBUG', 'on');define("WEBPATH", str_replace("\\","/", __DIR__));require __DIR__ . '/../libs/lib_config.php';class WebSocket extends Swoole\Network\Protocol\WebSocket{ /** *
Time of Update: 2017-01-19
本文執行個體講述了php實現word轉html的方法。分享給大家供大家參考,具體如下:要想完美解決,office轉pdf或者html,最好還是用windows office軟體,libreoffice不能完美轉換,wps沒有api。先確認com模組是不是開啟,phpinfo裡面如果有com_dotnet模組,說明已開啟,如果沒有,修改php.ini,複製代碼 代碼如下:com.allow_dcom =
Time of Update: 2017-01-19
圖片上傳在項目中經常用到,幾乎沒有任何一個項目可以脫離圖片或者是檔案上傳。本篇我在這向大家介紹兩種常規的上傳方式。(註:在這裡我們僅僅是對功能的實現,不去做過多的前端的樣式)一、利用form表單上傳此種方式是最原始的上傳方式,前端就是簡單的form表單,後端我們有PHP處理傳輸過來的檔案。首先看前端的代碼 upload.html<form action="handle.php" name="form" method="post" enctype="multipart/form-data"&
Time of Update: 2017-01-19
本文執行個體講述了PHP實現查詢兩個數組中不同元素的方法。分享給大家供大家參考,具體如下:<?php $a = array( "max_allow_dialogs", "livechat_server_ip", "livechat_service_time", "abort_zh_cn", "abort_zh_tw", "abort_en_usa", "welcome_zh_cn", "welcome_zh_tw", "welcome_en_usa",
Time of Update: 2017-01-19
PHPDBG是一個PHP的SAPI模組,可以在不用修改代碼和不影響效能的情況下控制PHP的運行環境。PHPDBG的目標是成為一個輕量級、強大、易用的PHP調試平台。可以在PHP5.4和之上版本中使用。在php5.6和之上版本將內部整合。主要功能:– 單步調試– 靈活的下斷點方式(類方法、函數、檔案:行、記憶體位址、opcode)– 可直接調用php的eval– 可以查看當前執行的代碼– 使用者空間API(userland/user space)– 方便整合– 支援指定php設定檔–
Time of Update: 2017-01-19
比較strlen和mb_strlen 當字元全是英文字元的時候,兩者是一樣。這裡主要比較一下,中英文混排的時候,兩個計算結果。(測試時編碼方式是UTF8) 複製代碼 代碼如下:<?php $str=‘中文a字1符‘; echo strlen($str); echo ‘<br />‘; echo mb_strlen($str,‘UTF8‘); //輸出結果 //14 //6 ?>
Time of Update: 2017-01-19
今天遇到GD的resizeimage 函數處理jpg尾碼檔案的縮圖的時候 提示該圖片不是合法的jpg圖片並報錯<b>Warning</b>: imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Invalid SOS parameters for sequential JPEG 國內網上查了很多資料也沒找到有效解決辦法,原來只要把
Time of Update: 2017-01-19
網站完全開放的特性,決定了網站比任何傳統軟體都更希望做到“系統看起來永遠都是能夠正常工作的”,所以採用正確的程式錯誤處理方式尤為重要。理論上來說,如果設計足夠完美,開發人員足夠謹慎,程式出現錯誤的可能為0. 但事實恰恰相反,複雜的商務邏輯,不同的硬體環境,或者不可信任的使用者輸入,都可能導致程式出錯,服務當機。所以在稍微有點複雜的系統中,有個完善的錯誤機制是必須的。 在php5之前,因為缺乏對異常的支援。在做複雜的開發時,常常採取比較原始的“處理錯誤數值+記錄log”的處理形式。 如:
Time of Update: 2017-01-19
匿名函數也叫閉包函數(closures允許建立一個沒有指定沒成的函數,最經常用作回呼函數參數的值。閉包函數沒有函數名稱,直接在function()傳入變數即可 使用時將定義的變數當作函數來處理 $cl = function($name){ return sprintf('hello %s',name); } echo $cli('fuck')`直接通過定義為匿名函數的變數名稱來調用echo preg_replace_callback('~-([a-z])~', function ($
Time of Update: 2017-01-19
queue配置首先說明一下我之前的項目中如何使用queue的。我們現在的項目都是用的symfony,老一點的項目用的symfony1.4,新一點的項目用的都是symfony2。symfony用起來整體感覺還是很爽的,尤其symfony2,整體上來講使用了很多java裡面架構的設計思想。但是他不支援queue。在symfony,我們使用queue也經曆了幾個過程。最開始使用張堰同學的httpsqs。這個簡單使用,但是存在單點。畢竟我們的項目還是正式對外服務的,所以我們研究了Apache旗下的開源項
Time of Update: 2017-01-19
複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/
Time of Update: 2017-01-19
本文執行個體需要驗證的內容:郵件地址、Url地址、電話號碼、郵遞區號,驗證方法分享給大家供大家參考,具體內容如下1、電子郵件地址的校正<?php/* 校正郵件地址*/function checkMail($email) {//使用者名稱,由“\w”格式字元、“-”或“.”組成$email_name= "\w|(\w[-.\w]*\w)";//網域名稱中的第一段,規則和使用者名稱類似,不包括點號“.”$code_at= "@";$per_domain=
Time of Update: 2017-01-19
HashTable在通常的資料結構教材中也稱作散列表,雜湊表。其基本原理比較簡單(如果你對其不熟悉,請查閱隨便一本資料結構教材或在網上搜尋),但PHP的實現有其獨特的地方。理解了HashTable的資料存放區結構,對我們分析PHP的原始碼,特別是Zend Engine中的虛擬機器的實現時,有很重要的協助。它可以協助我們在大腦中類比一個完整的虛擬機器的形象。它也是PHP中其它一些資料結構如數組實現的基礎。 Zend
Time of Update: 2017-01-19
在做開發的時候,有可能會忘記掉一些技術細節。這些細節有可能會造成很嚴重的後果,比如網站被注入、網站崩潰等等。現在我們總結一下,有可能會遇到的一些 PHP 中的一些 “陷阱”。陷阱一:empty()<?php//以下代碼會直接導致PHP解析錯誤$arr1 = [1, 2, 3];$arr2 = [3, 4];if(empty(array_diff($arr1, $arr2))) { //解析錯誤 echo 'empty';} else { echo 'not