複製代碼 代碼如下: <PRE class=php name="code"><?php $data = array(); //convert a cvs file to an array $data $handle = fopen("data.csv","r"); while ($curline = fgetcsv($handle, 1000, ",")){ $tmp = array(); $num = count($curline); for($c=0; $c <
php檔案處理:http://www.jb51.net/w3school/php/php_file.htm 複製代碼 代碼如下: <?php $filename=dirname(__FILE__)."/readfrom.txt"; $ofilename=dirname(__FILE__)."/writeto.txt"; if(!file_exists($filename)){ echo $filename." not found!"; exit; }
代碼如下所示:複製代碼 代碼如下://被察者抽象類別class Observed implements SplSubject{ protected $_name; protected $_observers; //執行個體化,產生一個觀察者對象 public function __construct(){ &
php可以通過set_time_limit(0);來取消php腳步逾時限制,從而達到長串連的效果。例子代碼如下:複製代碼 代碼如下:<?phpecho "每隔3秒輸出一次<br />";set_time_limit(0); //保證php程式運行不逾時退出while(1) { echo date("H:i:s")."<br />"; ob_flush(); flush();
最近在學習php,配置好php環境後,每次開機都有警告提示說 PHP startup。如下圖: 顯然這是個小問題,是關於php配置的。 解決這個問題很簡單只需要在php.ini 檔案中修改 extension_dir配置就行。 把 複製代碼 代碼如下: ; extension_dir = "ext" 改為 複製代碼 代碼如下: extension_dir = "D:/myphpenv/php5.4/ext" 其中D:/myphpenv/php5.4/為php安裝目錄。
1、定義常量: 複製代碼 代碼如下: <?php //1 define("TAX_RATE",0.08); echo TAX_RATE; //輸出0.08 //2 (PHP 5.3) const TAX_RATE2 =0.01; echo '--'.TAX_RATE2; //輸出0.01 ?> 2、require 和require_once 區別: 前者遇到即包含檔案,後者會判斷是否已經包含過了,如果包含過了,則不再包含檔案。一可以節省資源,二可以避免重複定義的錯誤。
複製代碼 代碼如下: <?php $dir="upload/"; $dir_res=opendir($dir); $fileFormat=array(0=>".jpg",1=>".gif",2=>".png",3=>".bmp"); $xmlData = ""; $xmlData .= "<photos>\n"; while($filen=readdir($dir_res)) { for($i=0;$i<count($fileFormat);$i+
今天整理以前寫過的關於上傳檔案,並顯示進度條的程式碼,對該代碼進行最佳化整理。解決了一直困擾的問題:有時進度條沒有達到100%,瀏覽器出現假死現象。在IE8、chrome測試非常完美。項目需求:上傳APK,顯示上傳進度條,上傳完成開始分析APK,並顯示:正在分析apk資料,請稍後... ,分析完成後,顯示:上傳成功,重新上傳由於我電腦裝的是winxp英文版,IE預設的是IE7,在測試的時候發現進度條不顯示。百分比也不顯示。排除問題:1、將DOM改成jquery方式,不顯示2、給遞迴調用加上延時,
php正則匹配漢字!/^[\x{4e00}-\x{9fa5}]+$/u以上這個Regex就是困擾了很多php程式員的匹配漢字的Regex大家可能會覺得很簡單,實際上不同編碼,不同程式語言,都有些細微的出入,稍不注意就得不到正確的結果。下面是utf-8編碼的例子:$str = "漢字";if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {print("該字串全部是中文");} else {print("該字串不全部是中文");}
下面用一個例子說明:web service服務是查詢QQ使用者是否線上使用php5開發用戶端:複製代碼 代碼如下:<?phptry { //$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8')); $client = new
PHP轉換檔夾下所有檔案的編碼 適合發布網站的其他編碼版本 比如你有一個GBK版本 你想有一個UTF8版本 或者你只有GBK的源碼 你想二次開發 但是你不想改變IDE的編碼方式 你可以用這個程式將其批量轉化為UTF8:代碼如下:複製代碼 代碼如下:<?php/*** 把一個檔案夾裡的檔案全部轉碼 只能轉一次 否則全部變亂碼* @param string $filename*/function
複製代碼 代碼如下: function resizeimage($srcfile,$mySize){ $size=getimagesize($srcfile); switch($size[2]){ case 1: $img=imagecreatefromgif($srcfile);
函數代碼一:刪除目錄及目錄下的所有檔案複製代碼 代碼如下://迴圈刪除目錄和檔案函數function delDirAndFile( $dirName ){if ( $handle = opendir( "$dirName" ) ) {while ( false !== ( $item = readdir( $handle ) ) ) {if ( $item != "." && $item != ".." ) {if ( is_dir( "$dirName/$item" ) )
最近匯出的時候出現一個php記憶體溢出的問題,原因就是在於下載的時候讀取產生的臨時檔案過大,PHP記憶體無法容納,一開如是想到更改PHP記憶體限制,但是這個只是一個緩兵之計,於是想到了另外一個方法是把檔案分次讀取,並下載。 以下是原始碼:複製代碼 代碼如下:<?php $sourceFile = "1.tmp"; //要下載的臨時檔案名稱 $outFile = "使用者訂單.xls"; //下載儲存到用戶端的檔案名稱 $file_extension = strtolower(substr(
最佳化PHP代碼技巧的小結1. 如果一個方法能被靜態,那就聲明他為靜態,速度可提高 1/4;2. echo 的效率高於 print,因為 echo 沒有傳回值,print 返回一個整型;3. 在迴圈之前設定迴圈的最大次數,而非在在迴圈中;4. 銷毀變數去釋放記憶體,特別是大的數組;5. 避免使用像__get, __set, __autoload 等魔術方法;6. requiere_once()比較耗資源;7. 在 includes 和 requires
錯誤:configure: error: libevent >= 1.4.11 could not be found 解決:yum -y install libevent libevent-devel 錯誤:configure: error: Please reinstall the mysql distributio 解決:yum -y install mysql-devel 錯誤:make: *** [sapi/fpm/php-fpm] error 1 解決:用make
一日,遇到一個問題,求上一個月的今天。 最開始我們使用 strtotime(”-1 month”) 函數求值,發現有一個問題,月長度不一樣的月份的計算結果有誤。 比如:2011-03-31,得到的結果是2011-03-03。我們先不追究什麼問題,先看如何解決問題。 此時,想起PHP中有一個mktime函數,於是自己寫了如下代碼:複製代碼 代碼如下:echo date("Y-m-d H:i:s", mktime(date("G", $time), date("i",
二分法尋找數組是否包含某一元素,相容正反序,代碼實現:複製代碼 代碼如下:<?php $searchValue = (int)$_GET['key']; function search(array $array, $value) { $max = count($array)-1; $min = 0;
安裝完wamp後開啟其下的phpMyAdmin也就是路徑http://localhost/phpmyadmin/出現看裡面的代碼一下明白了解決方案直接貼圖如下:複製代碼 代碼如下:<Directory "c:/wamp/apps/phpmyadmin3.5.1/"> Options Indexes FollowSymLinks MultiViews AllowOverride
前面手工寫了一個下拉自動補全功能,寫的簡單,只實現了滑鼠選擇的功能,不支援鍵盤選擇。由於項目很多地方要用到這個功能,所以需要用心做一下。發現select2這個外掛程式的功能可以滿足當前需求。在使用jquery外掛程式select2的過程中遇到了一些疑惑,無論是穿json資料還是通過jsonp方式取資料,都能夠正確返回。可是下拉式清單中的條目卻不能被選中,對滑鼠和鍵盤選擇都無效。後來發現,select2外掛程式在實現選中時是以資料中的id欄位為準的。所以不管是json還是jsonp,ajax返回的