在使用php对mysql进行处理时,有时候要对文件内容进行读取并输出,处理时发现php对读取的文件内容输出字符串后面会有一个空格,从而影响某些操作
例如:文件 2.txt 内容如下
1
2
3
|
123 234 abc |
php脚本
file.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php $con = mysql_connect( "localhost" , "root" , "111111" );
if (! $con )
{ die ( 'Could not connect:' .mysql_error());
} mysql_select_db( "zzadmin" , $con );
$file =file( '2.txt' );
$arrlength = count ( $file );
for ( $x =0; $x < $arrlength ; $x ++) {
$b = $file [ $x ];
$sql = "INSERT INTO csdn_db (username,passwd,email) SELECT username,passwd,email FROM csdn where passwd like '$b%'" ;
var_dump( $sql );
echo "<p>" ;
?> |
如图1
查阅资料发现可以通过PHP trim()函数解决此问题
方法如下:
trim() 去除一个字符串两端空格,
rtrim() 是去除一个字符串右部空格,
ltrim() 是去除一个字符串左部空格。
-------------------------------------
更改脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php $con = mysql_connect( "localhost" , "root" , "111111" );
if (! $con )
{ die ( 'Could not connect:' .mysql_error());
} mysql_select_db( "zzadmin" , $con );
$file =file( '2.txt' );
$arrlength = count ( $file );
for ( $x =0; $x < $arrlength ; $x ++) {
$c = $file [ $x ];
$b =rtrim( $c );
//添加函数 $sql = "INSERT INTO csdn_db (username,passwd,email) SELECT username,passwd,email FROM csdn where passwd like '$b%'" ;
var_dump( $sql );
echo "<p>" ;
> |
如图2
OK 完美解决
本文转自 1inux 51CTO博客,原文链接:http://blog.51cto.com/1inux/1703162