PHP, JavaScript, Ajax, jQuery, ActionScript, Flex, AIR, Facebook App, Linux, Apache, MySQL...

2016年4月13日 星期三

[PHP]取得遠端檔案資訊

PHP取得遠端檔案資訊,以下是一簡單範例及說明:
PHP程式碼
//取得遠端檔案資訊
function remote_file_info($url){
    $ch = curl_init($url);
    curl_setopt( $ch, CURLOPT_NOBODY, true );
    curl_setopt( $ch, CURLOPT_HEADER, false );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, false );
    curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 3 );
    curl_exec( $ch );
    
    $headerInfo = curl_getinfo( $ch );
    curl_close( $ch );
    
    return $headerInfo;
}

[PHP]下載遠端檔案

PHP下載遠端檔案,以下是一簡單範例及說明:
PHP程式碼
//下載遠端檔案
function download_remote_file($file_url, $save_path)
{
    $file_name = substr($file_url, strrpos($file_url, '/') + 1);
    if (strpos($file_name, '?') > 0)
        $file_name = substr($file_name, 0, strrpos($file_name, '?'));
    
    $save_to = $save_path.'/'.$file_name;
        
    $fp = fopen ($save_to, 'w+');
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $file_url );
    curl_setopt( $ch, CURLOPT_BINARYTRANSFER, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, false );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
    curl_setopt( $ch, CURLOPT_FILE, $fp );
    curl_exec( $ch );
    curl_close( $ch );
    fclose( $fp );
    
    return $save_to;
}

2011年3月17日 星期四

[Linux] 開機自動執行 Xampp

為了讓 Xampp 在每次開機時自動執行,可以將啟動的 scripts 寫在你的 /etc/rc.d/rc.local 的最後面:

1.開啟rc.local檔案
# vi /etc/rc.d/rc.local

2.寫入啟動的 scripts 在最後面
/opt/lampp/lampp start

3.存檔並退出vi編輯器
:wq

2011年1月19日 星期三

[MySQL] my.cnf 優化設定

主機記憶體 2G 的 my.cnf 優化設定,僅供參考:

[mysqld]
set-variable = key_buffer=512M
set-variable = max_allowed_packet=4M
set-variable = table_cache=1024
set-variable = thread_cache=64
set-variable = join_buffer_size=32M
set-variable = sort_buffer=32M
set-variable = record_buffer=32M
set-variable = max_connections=32000
set-variable = wait_timeout=120
set-variable = interactive_timeout=120
set-variable = max_connect_errors=30000
set-variable = long_query_time=1
set-variable = max_heap_table_size=256M
set-variable = tmp_table_size=128M
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=128M

[isamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M

[myisamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M

2011年1月18日 星期二

[Linux] 解決This system is not registered with RHN問題

今天在Red Hat 主機上利用yum安裝更新軟體時,出現了一段錯誤提示:
This system is not registered with RHN.
原因是linux沒有在紅帽網路上註冊,所以無法下載或更新套裝軟體,替代方案可以使用centos。
下面介紹下使用centos 的流程:

1.卸載rhel的默認安裝的yum包
查看yum包
rpm -qa|grep yum
卸載它
rpm -qa|grep yum|xargs rpm -e --nodeps

2.下載CentOS的yum包
wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm
wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm
wget http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm

全部安裝
rpm -ivh yum-*
注意:yum和yum-fastestmirror相互依賴,所以同時安裝即可。

3.下載yum的配置源
wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
把CentOS-Base.repo複製到/etc/yum.repos.d/目錄下

4.全部更新
yum update
進行統一更新,完成即可

2011年1月14日 星期五

[Linux] 如何卸載移除 sendmail 服務

1.停止服務:
# /etc/init.d/sendmail stop

2.取消自動啟動
# chkconfig --level 345 sendmail off

3.移除 sendmail
# yum remove sendmail

2011年1月10日 星期一

[Linux]建立root許可權限的帳號

useradd -u 0 -o -g root -G root -d /home/user1 user1

說明:
-u 0 指將uid指定為0(零)與root相同,登錄後的提示符為#而非$.
-o 指因為重複了uid(與root帳號的uid重複)必須指定這個參數.
-g root 初始化組的組名,當用戶屬於多個組時,(在-G參數中指定),登錄時所在組。缺省該項時,系統新建一個與用戶名同名的組,並且初始化時設為該組名.而不論-G指定為哪些組.
-G root 指定用戶名所屬的組列表,一個用戶可以屬於多個組,組名間用逗號分隔,組名必須已經存在.
-d /home/user1指定使用者的屬主目錄
user1 新建的用戶名為user1.