1.echo 「<pre>」的做用:php
$arr=array(1,2,3);
print_r($arr) ==>array ( 0 => 1, 1 => 2, 2 => 3, )html
echo 「<pre>」;
print_r($arr);
// print_r var_dump在打印數據時,默認都是有換行和空格的,咱們保留格式就能看到
echo 「</pre>」;
==>array (
0 => 1,
1 => 2,
2 => 3,
)java
2.$str=’1 3 <b>aa </b> 5 6
ttttt
xxxx’;怎麼將該字符串原樣輸出,包括<b></b>也原樣輸出呢?
瀏覽器對格式的處理順序以下:
先對html標籤替換
瀏覽器把回車換行、製表符、連續的多個空格,都替換成單個空格 ,注意是單個空格)apache
方法1:
先將html標籤保留,在保留空格
echo 「<pre>」.htmlentries($str).」</pre>」;數組
方法2:
str_replace(array(「\n」,">」,」<」,」 「),array(「 」,」>」,'」<」,」 」),$str)
注意:在替換時,若是’\n’用單引號,則無效果,這是爲何呢? 爲何呢?
你想想:
’\n’ 和 「\n」 是不同的啊:
‘\n’ 表明的是\n這個字符;
」\n」 表明的是換行符.
好比:str=」a\n
b」;
str_replace(「\n」 ,’11’, str) // \n匹配換行 也匹配 \n
str_replace(‘\n’,xxx,str) //僅匹配\n瀏覽器
3.爲了兼容多中系統:
// 替換順序
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// 首先替換 \r\n 字符,所以它們不會被兩次轉換
$newstr = str_replace($order, $replace, $str);服務器
4.eclipse報錯:「start ruble bundle manager」解決方法:(在path中找不到java,沒有解決)
環境變量:Path=路徑把%Java_Home%\Bin;放到最開頭,問題即解決. 緣由是安裝了其餘軟件修改了該路徑致使。eclipse
5.刪除數組中value爲$value的值:
curl
1: $arr=array('a','b','c','d','e','a');
2: $arr=array_flip($arr);
3: unset($arr['a']);
4: $arr=array_flip($arr);
5: var_dump($arr);
6.將對象也array_flip調用:
array_flip((array)$object)
7.Call to undefined function curl_init()
命令行下執行程序的時候報的錯「Call to undefined function curl_init()」,奇怪了我curl擴展明明是打開的呀!爲何會報這樣的錯誤?不解!
仍是來看看phpinfo再說吧!
發現下面有這樣一條信息
Loaded Configuration File D:\wamp\bin\apache\Apache2.2.11\bin\php.ini
哦!哦!原來php.exe讀取的是當前目錄裏的ini,和wamp讀的還不同啊,
集成環境害死人呀!
呵呵,領教了 url
8.又一個問題,怎麼修改wamp中php的配置文件呢?
看一下wampmanager.ini配置文件
[phpMenu]
;WAMPPHPMENUSTART
Type: submenu; Caption: "Version"; SubMenu: phpVersion; Glyph: 3
Type: submenu; Caption: "PHP settings"; SubMenu: php_params; Glyph: 3
Type: submenu; Caption: "PHP extensions"; SubMenu: php_ext; Glyph: 3
Type: item; Caption: "php.ini"; Glyph: 6; Action: run; FileName: "notepad.exe"; parameters: "D:/Program Files/wamp/bin/apache/apache2.2.22/bin/php.ini"
Type: item; Caption: "PHP error log"; Glyph: 6; Action: run; FileName: "notepad.exe"; parameters: "D:/Program Files/wamp/logs/php_error.log"
;WAMPPHPMENUEND
9.用wampserver那麼久,看一下他的文檔吧?
10.在命令行運行php index.php 加載的時那個地方的配置文件呢?
據我觀察時,和php.exe當前的目錄啊! 這個問題,必定要引發重視
不然,必定要指定-c pathto/php.ini
**********************
11.php實現短點續傳功能
1. 發送206狀態碼:
header(「http /1.1 206 Partial Content」);
2.服務器端怎麼肯定發送
客戶端在請求時,必須帶上 range:r1-r2
服務端在收到請求後,會帶上
Content-Range: bytes 0-800/801 //801:就是文件總大小,位置是0開始的,而不是從1!!!個人錯誤所在
斜槓後面的403表示文件的大小,一般Content-Range的用法爲:
. The first 500 bytes:
Content-Range: bytes 0-499/1234
. The second 500 bytes:
Content-Range: bytes 500-999/1234
. All except for the first 500 bytes:
Content-Range: bytes 500-1233/1234
. The last 500 bytes:
Content-Range: bytes 734-1233/1234
Header("Content-Ranges: bytes" . $start . "-" . ($fsize - 1) . "/" . $fsize);
12.只請求文件部份內容:
$total=0;
$once=100;
$length=1000;
$fp=fopen('1.txt','rb');
while($total<$length){
echo fread($fp,$once)."<br/>";
$total+=$once;
}
13.三種方式上傳文件
能夠應用的上傳方式有 PUT, WEBDAV, 和 RFC1867 三種,
14.rename:rename(’/a/1.gif’, ‘/b/2.gif’);不過要注意,若是目錄b不存在,就會移動失敗。