Time of Update: 2017-01-19
因為在本地測試完全沒有問題,所以ssh到遠程伺服器上(不是發行伺服器,建議不要直接在Publish Server上直接改東西),進行了一下斷點的測試,最後發現是一個比較複雜的邏輯中有個函數在建構函式中調用了登陸驗證。沒有驗證通過所以就跳走了。 下面我們通過程式來看一下php cookie的使用,也許你看完上面那段還納悶,這個和cookie有什麼聯絡呢? 大體說一下在我們的MVC結構中所用的登陸驗證:
Time of Update: 2017-01-19
模板檔案template.htm: 複製代碼 代碼如下:<html> <head> <title>%title%</title> </head> <body> <H1>%title%</H1> <hr> <pre>%body%</pre> </body> </html> php檔案:複製代碼 代碼如下:<?php
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php require('chinese.php'); class PDF extends PDF_Chinese { function Header() //設定頁首 { $this->SetFont('GB','',10); $this->Write(10,'XX公司產品名錄'); $this->Ln(20); //換行 } function Footer() //設定頁尾 { $this->SetY(-15);
Time of Update: 2017-01-19
複製代碼 代碼如下:<? //採集首頁地址 $url="http://emotion.pclady.com.cn/skills/"; //擷取頁面代碼 $rs=file_get_contents($url); //設定匹配正則 //$fp=fopen("text.txt","a"); //$fw=fwrite($fp,$rs); //fclose($fp); /*<I class=titles><A
Time of Update: 2017-01-19
複製代碼 代碼如下:// multiple recipients $to = 'aidan@example.com' . ', '; // note the comma $to .= 'wez@example.com'; // subject $subject = 'Birthday Reminders for August'; // message $message = ' <html> <head> <title>Birthday Reminders
Time of Update: 2017-01-19
以下內容僅摘錄部分:如果由我們來設計主題表和回帖表,通常的做法是如下。 這樣在擷取主題列表時,直接使用分頁演算法提取Topics;查看某一文章時,還需要對Topics,Posts進行jion連結。 此種設計的缺陷為: 1. Topics表格儲存體Content的內容,其體積將會很大,對大體積表進行分頁,效能很慢。 2. 顯示Posts內容時將進行join操作,損耗效能 而Discuz的做法是進行如下設計。
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php @mysql_connect("localhost", "root","1981427") //選擇資料庫之前需要先串連資料庫伺服器 or die("資料庫伺服器串連失敗"); @mysql_select_db("test") //選擇資料庫mydb or die("資料庫不存在或不可用"); $query = @mysql_query("select * from tablename1") //執行SQL語句 or die("SQL語句執行失敗");
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php @mysql_connect("localhost", "root","1981427") //串連資料庫伺服器 or die("資料庫伺服器串連失敗"); @mysql_select_db("test") //選擇資料庫mydb or die("資料庫不存在或不可用"); $query = @mysql_query("select * from tablename1") //執行用於計算頁數的SQL語句 or die("SQL語句執行失敗");
Time of Update: 2017-01-19
複製代碼 代碼如下:<html> <head> <title>插入一條新資料</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form method="post" name="form1" action="insert.php"> <table align="
Time of Update: 2017-01-19
比如:2005-12-23 讀出以後頁面會顯示為:2005 十二月 23 ,這樣給程式處理帶來很多不便。尋找了一些資料發現是php.ini預設了日期處理功能。 解決方案為: 第一個方法:php文檔開頭定義ini_set(”mssql.datetimeconvert”,”0″); 第二個方法:修改php.ini,找到;mssql.datetimeconvert = On ,去掉前面的分號,修改on為off,重啟apache即可 第三個方法:用SQL的 convert()函數轉換,如:
Time of Update: 2017-01-19
文法: int ignore_user_abort(int [setting]); 傳回值: 整數 函數種類: PHP 系統功能 內容說明 0 - NORMAL(正常)1 - ABORTED(異常退出)2 - TIMEOUT(逾時) 本函數配置或取得使用端串連中斷後,PHP 程式是否仍繼續執行。預設值為中斷串連後就停止執行。在 PHP 設定檔中 (php3.ini/php.ini) 的 ignore_user_abort 選項就是配置處。本功能在 PHP 3.0.7 版之後才開始提供。
Time of Update: 2017-01-19
如果用傳統的輸出方法——按字串輸出的話,肯定要有大量的轉義符來對字串中的引號等特殊字元進行轉義,以免出現語法錯誤。如果是一兩處還可以容忍,但是要是一個完整的html文本或者是一個200行的js我想是誰都會崩潰的。這就是PHP為什麼要引入一個定界符的原因——至少一大部分原因是這樣的。 1.PHP定界符的作用就是按照原樣,包括換行格式什麼的,輸出在其內部的東西; 2.在PHP定界符中的任何特殊字元都不需要轉義; 3.PHP定界符中的PHP變數會被正常的用其值來替換。 PHP中的定界符格式是這樣的:
Time of Update: 2017-01-19
1、防止跳出web目錄 首先修改httpd.conf,如果你只允許你的php指令碼程式在web目錄裡操作,還可以修改httpd.conf檔案限制php的操作路徑。比如你的web目錄是/usr/local/apache/htdocs,那麼在httpd.conf裡加上這麼幾行: php_admin_value open_basedir /usr/local/apache /htdocs
Time of Update: 2017-01-19
周海漢/文ADO可以用 new COM("ADODB.Connection", NULL, CP_UTF8)//65001 這樣的語句來實現正確轉換。但ADO對php的支援缺乏文檔。而有個開源的adodb,文檔較為豐富。 其中對不同資料庫驅動,設定UTF-8的方法還不一樣,如下: 複製代碼 代碼如下: For all drivers 'persist', 'persistent', 'debug', 'fetchmode', 'new' Interbase/Firebird 'dialect',
Time of Update: 2017-01-19
對多維陣列排序,通用的作法是1 擷取利用排序的資料並且將其放入數組$arrSort. 其中鍵索引為要排序數組的索引,保證唯一性 2 利用排序函數sort等對$arrSort進行排序. 3 遍曆$arrSort, 根據其索引,擷取多維陣列的資料,重新構造排序後的多維陣列. 複製代碼 代碼如下:Array ( [0] => Array ( [link] => test [name] => test.rpm [type] => file [size] => 988.9k
Time of Update: 2017-01-19
但導到sqlserver 2005後,發現其中文編碼只支援GB 和 UCS-2(unicode 16),所以直接在資料庫中查詢顯示正確,但使用php的utf9編碼顯示時則全是亂碼。找了大量資料,什麼使用mssql,freetds,odbc,ado或直接每次查詢和寫入都進行轉碼等建議都有。不過實際測試中,發現Ado這種方法是好用的。 代碼如下:複製代碼 代碼如下:<html> <head> <meta http-equiv="Content-Type"
Time of Update: 2017-01-19
當然,也有其他方法,網上可以搜尋得到。我這裡推薦一個既能瀏覽http頁面又能瀏覽wap頁面的方法,那就是用Firefox + wmlbrowser組件。裝好wmlbrowser組件的firefox就可以支援直接瀏覽wap頁面了。由於需要動態輸出內容,我們不得不將頁面的尾碼名定為.php,那這樣如何讓瀏覽器將其解析為wap頁面呢?很簡單,只要在標頭檔輸出的時候告訴瀏覽器該檔案的MIME類型就行了。 複製代碼 代碼如下:<?php header("Content-type: text/vnd.
Time of Update: 2017-01-19
pcntl_fork()函數就是為當前的進程建立一個子進程。並且先運行父進程,返回的是子進程的PID,肯定大於零。在父進程的代碼中可以用pcntl_fork(&$status)暫停父進程知道他的子進程有傳回值。注意:父進程的阻塞同時會阻塞子進程。但是父進程的結束不影響子進程的運行。
Time of Update: 2017-01-19
官方手冊給出了以下範例: 複製代碼 代碼如下:<?php // 使用了NameSpace的例子 namespace Foobar; class Foo { static public function test() { print "Hello world!\n"; } } call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0 // Hello world!
Time of Update: 2017-01-19
複製代碼 代碼如下://產生where字串 function get_where($arg = null) { foreach ((array)$arg as $key => $val) { if(is_int($key)) { $where .= " $val "; }else { if(is_string($val)) { if($val === null) { $where .= " and $key is null "; }else { $where .= " and $key =