顯示具有 學習手札 標籤的文章。 顯示所有文章
顯示具有 學習手札 標籤的文章。 顯示所有文章

解除Fail2ban

# 查出目前封鎖清單

fail2ban-client status

# 查目前封鎖項目裡的IP

fail2ban-client status sshd

# 解除項目中的IP

fail2ban-client set sshd 192.168.1.120

增長知識的PHP開發者年會

我不知道有這個活動
還是同事分享的 =________________="

PHPConf Taiwan 2011 上的議題
有關CSS的部份
以上3種是將以程式來編譯出CSS, 相當的方便, 不用打一堆CSS.

有關JavaScript的部份
透過簡短的程式碼來編釋出完整的JavsScript的程式.

有關PHP的部份
PHP Unint [https://github.com/sebastianbergmann/phpunit]
都是PHP的Framework, 由於我已經熟Codeigniter了, 其他的就等我有空再研究吧.


應該是台灣人寫的, 用PHP寫出來的報價網站.

move MySQL table column


ALTER TABLE table_name MODIFY column column_definition AFTER column


參考網址

ASP HTTP 405 不允許存取的資源

IISACCESS都調整好的情況下,
送出表單後竟然出現
HTTP 405 - 不允許存取的資源
一直在Google找了好久,
終於發現!!

原來ASP無法像PHP一樣,
無法直接使用 
/?[Quest]
一定要附上檔案名稱才可以使用
/default.asp?[Quest]
才可以正常送出表單!

MYSQL 大小寫搜尋、修改

今天遇到的問題,將資料庫裡的某表某欄的某字改成小寫。
首先查看看如何找到是否有沒有符合的資料,
如果用平常的搜尋是查不到的
SELECT * FROM `table.name` WHERE `table.column_name` LIKE '%A%'
這樣它不分大小寫,都會查出來給你。
如果要查大寫或小寫,就要加上BINARY
SELECT * FROM `table.name` WHERE BINARY `table.column_name` LIKE '%A%'
這樣它就會只顯示大寫!

再來是修改它成小寫。
這時我們要用到MySQL裡面的內建函數LOWER()
UPDATE `table.name` SET `table.column_name` = LOWER( `table.column_name` )
這樣它就會把這個欄位的英文都改小寫囉!

如果只要改一個字呢?
這可就有點難度了!
首頁先用MySQL的內建函數SUBSTRING()
來分解這個欄位的字
然後再用LOWER()或UPPER()來修改讓字的大小寫
再使CONCAT()來組合這個欄位,
再使用UPDATE來修改資料
假如我們是abcdef六個字母
UPDATE `table.name`
SET `table.column_name` = CONCAT( SUBSTRING (`table.column_name`, 1, 5), UPPER(SUBSTRING (`table.column_name`, 6, 1)) )
這樣跑完之後會呈現
abcdeF

本來想要使用SET @var_name = expr
可是怎麼弄都弄不好,就放棄啦~
句子就變這麼長了!

FLASH 擋住了 HTML 選單

在FLASH的選項裡加上
<param name="wmode" value="transparent">

然後再對HTML選單使用
display:block;
position:absolute;
z-index:10;
 這樣選單就不會被FLASH蓋住囉!

參考來源

Apache2 VirtualHost

參考公爵的文章


假設localhost會看到本機端的www資料夾下的index
以及www.test.com會看到www/test資料夾下的index


首先,先在apache2/conf.d下產生virtual.cof文件


sudo gedit /etc/apache2/conf.d/virtual.conf


設定接收所有IP回應80埠


NameVirtualHost: *:80


設定資料夾讀取權限



<Directory /var/www>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


<Directory /var/www/test>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>



設定虛擬主機


<VirtualHost *:80>
    ServerName   www.test.com
    DocumentRoot   /var/www/test

</VirtualHost>


<VirtualHost *:80>
    ServerName   localhost
    DocumentRoot   /var/www

</VirtualHost>


重新啟動Apache2


sudo /etc/init.d/apache2 restart

MySQL table is read only

今天弄了一天,就因為這個
table is read only

為什麼會這樣吶~
我改了權限也不行
用了mysqladmin -u -p FLUSH TALBES WITH READ LOCK
也不行

最後看了到別人提到使用者和群組都要改成mysql
我就姑且一試,果然給我試成功了!

windows的mysql沒有權限的限制,但是linux有權限的限制。
把資料庫直接拷貝到linux底下會使檔案的權限及使用者改變。
不熟linux的我只好上網拼命查拼命試囉!

sudo chown -R mysql:mysql /var/lib/mysql/[database]
sudo /etc/init.d/mysql restart

Apache Rewrite on Ubuntu

啟動 mod_rewrite

sudo a2enmod rewrite


修改 /etc/apache2/apache2.conf


Allowoverride All



重啟 Apache2

接著在你要rewrite的資料夾下加入.htaccess

修改.htaccess

RewriteEngine on
Options +FollowSymLinks
RewriteBase
RewriteRule
...


存檔,完成

使用PHP寫出下載檔案的網頁

$path = "file/download.exe"; //路徑及下載的檔案
$name = "newfileName.exe"; //下載後的檔名
if (!file_exists($path))
echo "錯誤";
else {
header("Content-type: application/download");
header("Content-Disposition: attachment; filename=$name");
header("Content-Transfer-Encoding: binary");
readfile($path);
}


感謝作者,PHP真是一個好用的網頁語法.

引用來源

phpMyadmin學習

phpMyAdmin關聯表製作方法

#
# 資料表格式: `PMA_bookmark`
#

CREATE TABLE `PMA_bookmark` (
`id` int(11) NOT NULL auto_increment,
`dbase` varchar(255) NOT NULL default '',
`user` varchar(255) NOT NULL default '',
`label` varchar(255) NOT NULL default '',
`query` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT='Bookmarks' AUTO_INCREMENT=1 ;

# --------------------------------------------------------

#
# 資料表格式: `PMA_column_info`
#

CREATE TABLE `PMA_column_info` (
`id` int(5) unsigned NOT NULL auto_increment,
`db_name` varchar(64) NOT NULL default '',
`table_name` varchar(64) NOT NULL default '',
`column_name` varchar(64) NOT NULL default '',
`comment` varchar(255) NOT NULL default '',
`mimetype` varchar(255) NOT NULL default '',
`transformation` varchar(255) NOT NULL default '',
`transformation_options` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
) TYPE=MyISAM COMMENT='Comments for Columns' AUTO_INCREMENT=24 ;

# --------------------------------------------------------

#
# 資料表格式: `PMA_history`
#

CREATE TABLE `PMA_history` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`username` varchar(64) NOT NULL default '',
`db` varchar(64) NOT NULL default '',
`table` varchar(64) NOT NULL default '',
`timevalue` timestamp(14) NOT NULL,
`sqlquery` text NOT NULL,
PRIMARY KEY (`id`),
KEY `username` (`username`,`db`,`table`,`timevalue`)
) TYPE=MyISAM COMMENT='SQL history' AUTO_INCREMENT=1 ;

# --------------------------------------------------------

#
# 資料表格式: `PMA_pdf_pages`
#

CREATE TABLE `PMA_pdf_pages` (
`db_name` varchar(64) NOT NULL default '',
`page_nr` int(10) unsigned NOT NULL auto_increment,
`page_descr` varchar(50) NOT NULL default '',
PRIMARY KEY (`page_nr`),
KEY `db_name` (`db_name`)
) TYPE=MyISAM COMMENT='PDF Relationpages for PMA' AUTO_INCREMENT=3 ;

# --------------------------------------------------------

#
# 資料表格式: `PMA_relation`
#

CREATE TABLE `PMA_relation` (
`master_db` varchar(64) NOT NULL default '',
`master_table` varchar(64) NOT NULL default '',
`master_field` varchar(64) NOT NULL default '',
`foreign_db` varchar(64) NOT NULL default '',
`foreign_table` varchar(64) NOT NULL default '',
`foreign_field` varchar(64) NOT NULL default '',
PRIMARY KEY (`master_db`,`master_table`,`master_field`),
KEY `foreign_field` (`foreign_db`,`foreign_table`)
) TYPE=MyISAM COMMENT='Relation table';

# --------------------------------------------------------

#
# 資料表格式: `PMA_table_coords`
#

CREATE TABLE `PMA_table_coords` (
`db_name` varchar(64) NOT NULL default '',
`table_name` varchar(64) NOT NULL default '',
`pdf_page_number` int(11) NOT NULL default '0',
`x` float unsigned NOT NULL default '0',
`y` float unsigned NOT NULL default '0',
PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`)
) TYPE=MyISAM COMMENT='Table coordinates for phpMyAdmin PDF output';

# --------------------------------------------------------

#
# 資料表格式: `PMA_table_info`
#

CREATE TABLE `PMA_table_info` (
`db_name` varchar(64) NOT NULL default '',
`table_name` varchar(64) NOT NULL default '',
`display_field` varchar(64) NOT NULL default '',
PRIMARY KEY (`db_name`,`table_name`)
) TYPE=MyISAM COMMENT='Table information for phpMyAdmin';

config.inc.php需要修改地方
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

$cfg['Servers'][$i]['bookmarktable'] = 'PMA_bookmark';

$cfg['Servers'][$i]['relation'] = 'PMA_relation';

$cfg['Servers'][$i]['table_info'] = 'PMA_table_info';

$cfg['Servers'][$i]['table_coords'] = 'PMA_table_coords';

$cfg['Servers'][$i]['pdf_pages'] = 'PMA_pdf_pages';

$cfg['Servers'][$i]['column_info'] = 'PMA_column_info';

$cfg['Servers'][$i]['history'] = 'PMA_history';

appserv修改密碼出現錯誤解決

系統環境:

MySQL 4.1.7 (官方正式推薦版本,支援 UTF-8 編碼)
PHP 4.3.9
phpMyAdmin 2.6.0-pl3
問題:

當使用 phpmyadmin 2.6.0-p13 欲登入 MySQL 4.1.7 時,會出現如下錯誤訊息:
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因:

因為 MySQL 4.1 以上版本為了提高安全性,使用了新的密碼驗證機制。如此,MySQL 的 Client Library 需要 4.0 版本以上。但目前在 Client 端所使用的 PHP 版本若為 5.0 以下(如 4.3.9),其內建的 MySQL Library 大都為 3.23,並不支援新版的密碼驗證機制。
解決方案(以下擇其一):

將 PHP 升級為 5.0版以上(但許多應用伺服器,包括諸多 Blog 平台,尚未支援 PHP5)
切換 PHP 4.3.9的 MySQL extension 為 MySqlLi (但是,在 Windows 的平台如何切換?我不知道…)
在 MySQL console 下,更新密碼形式改為 OLD_PASSWORD() (設回原來舊版的密碼驗證機制)。

mysql> UPDATE mysql.user SET Password = OLD_PASSWORD(’newpwd’)
-> WHERE Host = ’some_host’ AND User = ’some_user’;
mysql> FLUSH PRIVILEGES;

[動畫] Flash的Loading完成

試了三四天,
在各方好友的朋友幫助下,
終於...
我寫出來啦>O< 以下是程式碼解說唷>O<

------------------------------------程式碼

//先查看看載入的影格如果大於或等於全 部的影格
//就前往影格三播放

if(_root._framesloaded >= _root._totalframes){ gotoAndPlay(3); }
//設定L_loaded內容為目前載入檔案的Btye大小
L_loaded=_root.getBytesLoaded();
//設定L_total內容為目前載入檔案的Btye總和
L_total=_root.getBytesTotal();
//設定Percent內容為載入的數值

Percent=Math.round((L_loaded/L_total)*100);
//設定物件"LoadBar"顯示的垂直縮放值
_root.LoadBar._xscale=Percent;
//設定物件"LoadFont"顯示的數值
_root.LoadFont.text=Percent+"%";
//設定物件"LoadFont"文字的對齊方向為左
_root.LoadFont.autoSize="left";
//設定物件"LoadFont"的X點隨著"LoadBar"的寬移動

_root.LoadFont._x=160 + _root.LoadBar._width;

------------------------------------程式碼

-----------------------------使用到的物件
LoadBar
LoadFont
music.mp3
-----------------------------使用到的物件