[前提]你的php/ext底下明明就有php_mbstring.dll,如果沒有的請先去想辦法生出來!!
編輯php.ini,將:
extension=php_mbstring.dll
放在:
extension=php_exif.dll
之前即可~
如果是透過Apache的當然要重新啟動Apache囉!
為什麼?想也知道是因為php_exif.dll裡面有調用到php_mbstring.dll啊~
2013年5月9日 星期四
Appserv安裝pear簡介
我是用2.5.10測試成功,其他版本應該也大同小異吧!
1.執行C:\Appserv\php5\go-pear.bat,所有選項都用預設即可,就是一直按[Enter]
2.執行C:\Appserv\php5\PEAR_ENV.reg 註冊機碼
完成了!這麼簡單還寫幹嘛 !@#$~! 哈哈~~~
1.執行C:\Appserv\php5\go-pear.bat,所有選項都用預設即可,就是一直按[Enter]
2.執行C:\Appserv\php5\PEAR_ENV.reg 註冊機碼
完成了!這麼簡單還寫幹嘛 !@#$~! 哈哈~~~
2013年5月2日 星期四
PHP連接Mysql的一個小小發現
$link = mysql_pconnect($host,$user,$password);
mysql_select_db($db_name,$link);
在PHP裡面一般我們都會利用上面兩行程式來連接資料庫,這時候如果$db_name設錯了,比方說打錯字或使用了一個完全不對的名稱,這時候後面的SQL還能正確執行嗎?
如果你認為答案是否定的,那你就跟我原來的想法是一樣的......
事實上是要看情形,因為在這一行程式執行時:
$link = mysql_pconnect($host,$user,$password);
mysql_select_db($db_name,$link);
在PHP裡面一般我們都會利用上面兩行程式來連接資料庫,這時候如果$db_name設錯了,比方說打錯字或使用了一個完全不對的名稱,這時候後面的SQL還能正確執行嗎?
如果你認為答案是否定的,那你就跟我原來的想法是一樣的......
事實上是要看情形,因為在這一行程式執行時:
$link = mysql_pconnect($host,$user,$password);
其實已經有連到了預設資料庫,也就是$user,$password有權限存取得第一個資料庫
所以這一行程式:
mysql_select_db($db_name,$link);
的作用是改變$link對應到的資料庫,就算你指定一個錯誤的名稱,他還是有連在原來連到的預設資料庫!
所以看情形就是如果你要使用的資料庫正好是連到的預設資料庫,那你根本不會發現有錯誤!
這個問題乎不大,但是有時後果也是可以很嚴重的!!因為如果你在相同的權限下,有一個正式資料庫跟測試資料庫,他們的schema完全一樣,那麼你的測試程式要是陰錯陽差地連上的正式資料庫......
所以應該要加個防呆:
if(mysql_select_db($db_name,$link) == null)
mysql_colse($link);
這邊順便提醒各位ㄚ,如果你不做斷開,而是只有在非null時回傳$link還是有風險存在,因為萬一你的程式裡有不指定$link的mysql_query存在時,依據PHP"貼心"的設計:預設連接中還是存在這個連接的!那麼不指定$link的mysql_query一樣會執行(無誤)~
補充一下:PHP連接MSSQL時我沒測試!但我認為應該是一樣的~
補充一下:PHP連接MSSQL時我沒測試!但我認為應該是一樣的~
2013年3月22日 星期五
CodeIgniter 移除網址的index.php
1.打開Apache 的httpd.conf
搜尋 LoadModule找到下面這行
#LoadModule rewrite_module modules/mod_rewrite.so
將前面的#字號去除後存檔
2.restart Apache
3.將CodeIgniter資料夾下的.htaccess檔用筆記本打開修改內容
RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
4. 修改 \application\config\cofig.php
搜尋 $config['index_page'] = 'index';
去除預設值得index變成下面這樣
$config['index_page'] = '';
原文出處:
http://rex030515495.blogspot.tw/2011/03/codeigniter-indexphp.html
2013年3月19日 星期二
Appserv開啟ldap問題解決
一、到windows資料夾中修改php.ini,將ldap的ext前面的注解拿掉即可!
二、在c:\appserv\php5資料夾中的libeay32.dll跟ssleay32.dll複蓋到c:\windows\system32中
三、重新啓動Apache....
二、在c:\appserv\php5資料夾中的libeay32.dll跟ssleay32.dll複蓋到c:\windows\system32中
三、重新啓動Apache....
2013年2月23日 星期六
HTML5離線功能中如何判定現在是否處於online
這邊使用的是利用離線功能中在上線狀態下applicationCache有可能發生的兩種Event:
一、有更新資料並更新完成:cached
二、無更新資料:noupdate
使用標準javascript的做法:
function online()
{
//online狀態要做的動作寫在這裡......
}
window.applicationCache.addEventListener("cached", function(e)
{
online();
}, false);
window.applicationCache.addEventListener("noupdate", function(e)
{
online();
}, false);
使用jQuery的做法:
var appCache = window.applicationCache;
function online()
{
//online狀態要做的動作寫在這裡......
}
$(appCache).bind("cached",function( event )
{
online();
});
$(appCache).bind("noupdate",function( event )
{
online();
});
HTML5離線實做
一、在網頁所在資料夾下新增一檔名為.htaccess的檔案,內容如下:
AddType text/cache-manifest .manifest
二、在網頁所在資料夾下新增一檔名為offline.manifest的檔案,內容如下:
CACHE MANIFEST
#This is a comment
CACHE:
index.html
tasklist.js
jquery-1.8.0.min.js
jquery.mobile-1.1.1.min.css
jquery.mobile-1.1.1.min.js
PS.紅色部分為要在離線時使用的檔案列表......
三、在一定會存取的HTML檔案中(例如:index.html)修改內容如下:
將:
<html>
改成:
<html manifest="offline.manifest">
如此一來就大功告成了,值得注意的是當有修改到上面紅色列表中的檔案時,要記得將瀏覽器執行“清除瀏覽資料”的動作,否則很容易會因為修改尚未即時update而誤以為是BUG!
AddType text/cache-manifest .manifest
二、在網頁所在資料夾下新增一檔名為offline.manifest的檔案,內容如下:
CACHE MANIFEST
#This is a comment
CACHE:
index.html
tasklist.js
jquery-1.8.0.min.js
jquery.mobile-1.1.1.min.css
jquery.mobile-1.1.1.min.js
PS.紅色部分為要在離線時使用的檔案列表......
三、在一定會存取的HTML檔案中(例如:index.html)修改內容如下:
將:
<html>
改成:
<html manifest="offline.manifest">
如此一來就大功告成了,值得注意的是當有修改到上面紅色列表中的檔案時,要記得將瀏覽器執行“清除瀏覽資料”的動作,否則很容易會因為修改尚未即時update而誤以為是BUG!
訂閱:
文章 (Atom)