需要轉(zhuǎn)義一下。有幾個(gè)辦法:正轎
目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、萊山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1,最簡(jiǎn)單,把一些危險(xiǎn)字符過濾掉,比如英文的單引號(hào),雙引號(hào)等;
2,使用addslashes在php中進(jìn)行轉(zhuǎn)義,自己處理;
3,可以使用一些現(xiàn)舉氏肆成的處理方法,比如uchome自帶的getstr。這樣的好處就是對(duì)核亮各種可能出現(xiàn)的情況處理比較好。
PHP 中的fgets() 函數(shù)可以實(shí)現(xiàn)
fgets() 函數(shù)從文件指針中讀取一行。
fgets(file,length)
參數(shù)說明
file 必需。規(guī)定要讀取的文件。
length 可選。規(guī)定要讀取的字節(jié)數(shù)告敬。默認(rèn)是 1024 字節(jié)。
詳細(xì)說明
從 file 指向的文件中讀取一行并返回長(zhǎng)度最多為 length - 1 字節(jié)的字符串。碰到換行符(包括在返回值中)、EOF 或者已經(jīng)讀取了 length - 1 字節(jié)后停止(要看先碰到那一種情況)。如果沒有指定 length,則默認(rèn)為 1K,或者說 1024 字節(jié)。
若失敗,則返回 false。
注釋:length 參數(shù)從 PHP 4.2.0 起成為可選項(xiàng),如果忽略,則行的長(zhǎng)度被假定為 1024 字節(jié)。從 PHP 4.3 開始,忽略掉 length 將繼續(xù)從流中讀取數(shù)據(jù)直到灶凳行結(jié)束。如果文件中的大多數(shù)行都大于 8 KB,則在腳本中指定最大行的長(zhǎng)度在利用襪辯慎資源上更為有效。
從 PHP 4.3 開始本函數(shù)可以安全用于二進(jìn)制文件。早期的版本則不行。
如果碰到 PHP 在讀取文件時(shí)不能識(shí)別 Macintosh 文件的行結(jié)束符,可以激活 auto_detect_line_endings 運(yùn)行時(shí)配置選項(xiàng)。
例如:
test.txt 文本內(nèi)容如下:
Hello, this is a test file.
There are three lines here.
This is the last line.
?php
//讀取一行
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?
輸出:
Hello, this is a test file.
?php
//循環(huán)讀取每一行
$file = fopen("test.txt","r");
while(! feof($file)) {
echo $str = fgets($file). "br /";
//這里可以逐行的寫入數(shù)據(jù)庫(kù)中
//mysql_query("insert into table(id,contents) values(NULL,'".$str."')");
}
fclose($file);
?
輸出:
Hello, this is a test file.
There are three lines here.
This is the last line.
有兩種可能:饑?yán)?/p>
1、是你的php配置中開啟了自動(dòng)轉(zhuǎn)義,你先運(yùn)行一下var_dump(get_magic_quotes_gpc());
如果返侍碧回的是true的話,那就是開啟了,到php.ini中把magic_quotes_gpc改成off
2、你老肢舉的程序是否在插入前使用了htmlspecialchars或者h(yuǎn)tmlentities之類的轉(zhuǎn)義函數(shù)