複製代碼 代碼如下: <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安裝目錄。
多個檔案上傳和單獨檔案上傳的處理方式是一樣的,只需要在用戶端多提供幾個類型為“file”的輸入表單,並指定不同的“name”屬性值。例如,在下面的代碼中,可以讓使用者同時選擇三個本地檔案一起上傳給伺服器,用戶端的表單如下所示:複製代碼 代碼如下:<html><head><title>多個檔案上傳表單</title></head><body><form action="mul_upload.php"
在是使用PHP動態輸出美麗映像的同時,也離不開顏色的設定,就像畫畫時需要使用調色盤一樣。設定映像的顏色,需要調用imagecolorallocate()函數完成。如果在映像中需要設定多種顏色,只要多次調用該函數即可。該函數的原型如下所示:複製代碼 代碼如下: int imagecolorallocate(resource $image,int $red,int $green,int
使用GD庫中提供的函數動態繪製完成映像以後,就需要輸出到瀏覽器或者將映像儲存起來。在PHP中,可以將動態繪製完成的畫布,直接產生GIF、JPEG、PNG和WBMP四種映像格式。可以通過調用下面四個函數產生這些格式的映像:複製代碼 代碼如下: bool imagegif(resource $image[,string $filename]) &
在PHP中繪製映像的函數非常豐富,包括點、線、各種幾何圖形等可以想象出來的平面圖形,都可以通過PHP中提供的各種畫圖函數完成。我們在這裡介紹一些常用的映像繪製,如果使用我們沒有介紹過的函數,可以參考手冊實現。另外,這些圖形繪製函數都需要使用畫布資源,並在畫布中的位置通過座標(原點是在畫布左上方的起始位置,以像素為單位,沿著X軸正方向向右延伸,Y軸正方向向下延伸)決定,並且還可以通過函數的最後一個參數,設定每個圖形的顏色。畫布中的座標系統如圖所示。一、函數繪圖區域填充imageFill()通過PH
本文執行個體講述了PHP中round()函數對浮點數進行四捨五入的方法。分享給大家供大家參考。具體方法如下:文法:round(x,prec) 參數 描述 x 可選,規定要舍入的數字. prec 可選,規定小數點後的位元. 說明:返回將 x 根據指定精度 prec(十進位小數點後數位數目)進行四捨五入的結果,prec
在映像中顯示的文字也需要按座標位置畫上去。在PHP中不僅支援比較多的字型庫,而且提供了非常靈活的文字繪製方法。例如,在圖中繪製縮放、傾斜、旋轉的文字等。可以使用imageString()、imageStringUP()或imageChar()等函數使用的字型文字繪製到映像中。這些函數的原型如下所示:複製代碼 代碼如下:bool imagestring(resource $image,int $font,int $x ,int $y,string $s,int
像驗證碼或根據動態資料產生統計表徵圖,以及前面介紹的一些GD庫操作等都屬於動態繪製映像。而在web開發中,也會經常去處理伺服器中已存在的圖片。例如,根據一些需求對圖片進行縮放、加浮水印、裁剪、翻轉和旋轉等改圖的操作。在web應用中,經常使用的圖片格式有GIF、JPEG和PNG中的一種或幾種,當然GD庫也可以處理其他格式的圖片,但都很少用到。所以安裝GD庫時,至少安裝GIF、JPEG或PNG三種格式中的一種。 在前面介紹的畫布管理中,使用imagecreate()和imageCreateTrue
1. 對遞迴的不良支援遞迴是一種函數調用自身的機制。這是一種強大的特性可以把某些複雜的東西變得很簡單。有一個使用遞迴的例子是快速排序(quicksort)。不幸的是,PHP並不擅長遞迴。Zeev,一個PHP開發人員,說道:“PHP 4.0(Zend)對密集資料使用了棧方式,而不是使用堆方式。也就是說它能容忍的遞迴函式的數量限制和其他語言比起來明顯少。”見bug 1901。這是一個很不好的借口。每一個程式設計語言都應該提供良好的遞迴支援。2.
由於現在的瀏覽器已經可以識別txt文檔格式,如果只給txt文檔做一個文字連結的話,點擊後只是開啟一個新視窗顯示txt檔案的內容,並不能實現點擊下載的目的。當然這個問題的解決辦法也可以是將txt檔案改名為瀏覽器不認識的檔案(比如rar),這樣的話,由於瀏覽器不能識別rar類型的檔案,只能讓使用者下載了。還有一種辦法,就是利用代碼通過header設定文檔的格式來實現點擊下載的目的。PHP代碼如下:====================================================
最佳化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返回的