Time of Update: 2018-12-08
我在SitePoint做面試官的時候一定會問的問題是:你認為PHP代碼的優劣體現在哪裡?因為這個問題可以讓我大體知道應聘者是哪種類型的程式員,而不是單純地考察他對PHP函數的掌握程度(這一點Zend的PHP認證做得不錯,雅虎的PHP程式員面試題也屬於此類)。重要的是,這個問題可以讓我知道應聘者是否經曆過這樣的事情——從一個懶散程式員手中接過一段淩亂的代碼進行重用,或者要協助團隊中的其他成員來處理這類事情。誠然,對於這個問題我自己也沒有一個滿意的答案,不過我知道哪些答案是我想聽到的:優秀的PHP代
Time of Update: 2018-12-08
本文,將這些問題,做一個簡單的匯總,以便大家查閱。1.錯誤提示Warning: Cannot send session cookie - headers already sentWarning: Cannot send session cache limiter - headers already sent分析及解決辦法這一類問題,的原因是你在程式中使用PHP
Time of Update: 2018-12-08
方法一:複製代碼 代碼如下: header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($filepath)); header('Content-Transfer-Encoding: binary'); header('Expires: 0′)
Time of Update: 2018-12-08
有需要的朋友,參考下吧。 複製代碼 代碼如下:<?php/** * 仿QQ驗證碼*///Session儲存路徑$sessSavePath = dirname(__FILE__)."/../data/sessions/";if(is_writeable($sessSavePath) && is_readable($sessSavePath)){ session_save_path($sessSavePath);
Time of Update: 2018-12-08
方法一:複製代碼 代碼如下:<?phpfunction unicode_encode($name){ $name = iconv('UTF-8', 'UCS-2', $name); $len = strlen($name); $str = ''; for ($i = 0; $i < $len - 1; $i = $i + 2) { $c = $name[$i]; $c2 = $name[$i + 1]; if (
Time of Update: 2018-12-08
複製代碼 代碼如下:function remote($urls, $name = '', $path = '', $dir = './images/') { if (!is_array($urls) or count($urls) == 0) { return false; } dmkdir($dir); $curl = $text = array(); foreach($urls as $k => $v) { if (!empty($v) && preg_match(
Time of Update: 2018-12-08
php匯入到excel亂碼是因為utf8編碼在xp系統不支援所有utf8編碼轉碼一下就完美解決了utf-8編碼案例Php代碼複製代碼 代碼如下:<?php header("Content-Type: application/vnd.ms-excel; charset=UTF-8"); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0,
Time of Update: 2018-12-08
複製代碼 代碼如下:function Steal($url, $post_data = ""){//$header[] = "Accept: text/vnd.wap.wml,*.*"; $user_agent = "Mozilla/4.0"; $follow_loc = 1; $cookie_file ="./tmp/cook.txt"; $ch = @curl_init(); @curl_setopt($ch, CURLOPT_URL, $url); @curl_setopt(
Time of Update: 2018-12-08
需要讀取一個檔案的幾行內容,但是檔案比較大,所以研究了下php讀取大檔案的幾行內容的方法,寫了一個方法,代碼如下(加了注釋): 快取檔案如果能夠儲存在一行, 而利用演算法讀取指定的行數, 自然會比全部讀出來挑選要快得多. 但php似乎這方面比較弱, 不太好操作. 就算使用SplFileObject仍然不是特別可取, 記憶體壓力存在. 複製代碼 代碼如下:$fp->seek($startLine - 1); 經過測試, 此行代碼在8MB文本中遊走到最後一行, 記憶體佔用為49KB,
Time of Update: 2018-12-08
以下是通過php的socket擴充模組實現的一個簡單的訊息處理伺服器端:綁定在一個原生連接埠,監聽用戶端的串連,接收資料並轉寄給寄件者之外的所有用戶端socket_server.php複製代碼 代碼如下:#!/usr/bin/env php<?php//author:zhxiaif(!extension_loaded('sockets')){ die('the sockets extension is not loaded!');}const
Time of Update: 2018-12-08
PHP對大小寫敏感問題的處理比較亂,寫代碼時可能偶爾出問題,所以這裡總結一下。但我不是鼓勵大家去用這些規則。推薦大家始終堅持“大小寫敏感”,遵循統一的代碼規範。1. 變數名區分大小寫複製代碼 代碼如下: <?php $abc = 'abcd'; echo $abc; //輸出 'abcd' echo $aBc; //無輸出 echo $ABC; //無輸出2. 常量名預設區分大小寫,通常都寫為大寫(但沒找到能改變這個預設的配置項,求解)複製代碼 代碼如下: <?php define(
Time of Update: 2018-12-08
在 做一些天氣預報或者RSS訂閱的程式時,往往需要抓取非本地檔案,一般情況下都是利用php類比瀏覽器的訪問,通過http請求訪問url地址, 然後得到html原始碼或者xml資料,得到資料我們不能直接輸出,往往需要對內容進行提取,然後再進行格式化,以更加友好的方式顯現出來。下面簡單說一下php抓取頁面的幾種方法及原理:一、 PHP抓取頁面的主要方法:1. file()函數 2. file_get_contents()函數 3.
Time of Update: 2018-12-08
在這一章裡你將瞭解到迷人而又讓人容易糊塗的通訊端(Sockets)。Sockets在PHP中是沒有充分利用的功能。今天你將看到產生一個能使用用戶端已連線的服務器,並在用戶端使用socket進行串連,伺服器端將詳細的處理資訊發送給用戶端。當你看到完整的socket過程,那麼你將會在以後的程式開發中使用它。這個伺服器是一個能讓你串連的HTTP伺服器,用戶端是一個Web瀏覽器,這是一個單一的 用戶端/伺服器 的關係。◆ Socket
Time of Update: 2018-12-08
1.1.1 zval結構Zend使用zval結構來儲存PHP變數的值,該結構如下所示:複製代碼 代碼如下:typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct { char *val; int len; } str; HashTable *ht; /* hash table value */ zend_object_value obj;
Time of Update: 2018-12-08
PHP運行模式有4鐘:1)cgi 通用閘道介面(Common Gateway Interface))2) fast-cgi 常駐 (long-live) 型的 CGI3) cli 命令列運行 (Command Line Interface)4)web模組模式 (apache等web伺服器啟動並執行模組模式)1.CGI(Common Gateway Interface)CGI即通用閘道介面(Common Gateway Interface),它是一段程式,
Time of Update: 2018-12-08
以前做過一道php面試題是這樣的:不使用第三個變數實現交換兩個變數的值。一般都是藉助第三個中間變數來實現原來兩個變數的值交換,但是這道題卻要求不能使用中間變數,這對於初學者來說也算是一個難題了。網上找到的幾種方法總結如下:複製代碼 代碼如下://字串版本 結合使用substr,strlen兩個方法實現$a="a";$b="b";echo '交換前 $a:'.$a.',$b:'.$b.'<br />';$a.=$b;$b=substr($a,0,(strlen($a)-strlen($
Time of Update: 2018-12-08
命令模式:將一個請求封裝為一個對象,從而你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支援可撤銷操作。
Time of Update: 2018-12-08
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 區別: 前者遇到即包含檔案,後者會判斷是否已經包含過了,如果包含過了,則不再包含檔案。一可以節省資源,二可以避免重複定義的錯誤。
Time of Update: 2018-12-08
布爾類型是PHP中 最簡單的類型。它的值可以為 TRUE 或 FALSE。如:$foo=false;$foo1=true;echo "為假時輸出值為:".$foo; //沒有輸出值echo "<br />為真時輸出值為:".$foo1; //輸出1這裡主要的細節:當轉換為 boolean 時,以下值被認為是 FALSE :1、the 布爾值 FALSE 自身 2、the 整型值 0 (零) 3、the 浮點型值 0.0 (零) 空 字串, 以及 字串 "0"
Time of Update: 2018-12-07
原文地址:http://blog.sina.com.cn/s/blog_4dd475390100ryp9.html建立資料庫tiask 並執行下列sql/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50067Source Host : localhost:3306Source Database : tiaskTarget Server