flock
( PHP 4中, PHP 5中)
flock-便携式咨询文件锁定
描述
布尔群(资源$处理,诠释$操作[摘要& $ wouldblock ] )
flock( )可让您执行一个简单的读卡器/写模式,它可以用在几乎所有平台(包括大多数Unix衍生物甚至Windows ) 。
被释放的锁也fclose ( ) (也被称为脚本时自动完成) 。
PHP支持便携式方式锁定在一个完整的档案咨询方式(也就是说所有访问程序必须使用同样的方式锁定或它不会工作) 。
参数
把柄
一个开放的文件指针。
操作
操作下列内容之一:
LOCK_SH获得共享锁(读者) 。
LOCK_EX获得独占锁定(作家) 。
LOCK_UN释放锁(共享或专用) 。
LOCK_NB如果你不想flock( )阻止,同时锁定。 (不支持在Windows上)
wouldblock
可选的第三个参数设置为TRUE ,如果锁定会阻止( EWOULDBLOCK errno条件) 。
返回值
返回TRUE或FALSE的成功失败。
修改
版本说明
4.0.1常量的LOCK_XXX增加了。在此之前,您必须使用1 LOCK_SH , 2 LOCK_EX , 3 LOCK_UN和4 LOCK_NB
实例
例如# 1flock( )的例子
<?php
$fp = fopen("/tmp/lock.txt", "w+");
if (flock($fp, LOCK_EX)) { // do an exclusive lock
fwrite($fp, "Write something heren");
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't lock the file !";
}
fclose($fp);
?>
( PHP 4中, PHP 5中)
rawurlencode -网址编码根据的RFC 1738
描述
字符串rawurlencode (字符串$str)
编码特定字符串根据»的RFC 1738 。
参数
str
将URL进行编码。
返回值
返回一个字符串中的所有非字母数字字符除了- _ 。被替换成一个百分号( % )符号后面跟两个十六进制数字。这是编码描述»的RFC 1738年为保护字面字符被解释为特殊的URL分隔和保护的URL被毁损的传输媒体转换与性质(如一些电子邮件系统) 。
实例
例如# 1包括一个密码的FTP网址
<?php
$a = explode('&', $QUERY_STRING);
$i = 0;
while ($i < count($a)) {
$b = split('=', $a[$i]);
echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),
' is ', htmlspecialchars(urldecode($b[1])), "<br />n";
$i++;
}
?>
进行urlencode
( PHP 4中, PHP 5中)
进行urlencode -网址编码字符串
描述
字符串进行urlencode (字符串$str)
此功能方便的编码字符串被用于查询的网址的一部分,作为一种便捷的方式传递变量的下一页。
参数
str
字符串编码。
返回值
返回一个字符串中的所有非字母数字字符除了- _ 。被替换成一个百分号( % )符号后面跟两个十六进制数字和空格编码为加号( + )的迹象。这是相同的编码方式,从公布的数据编码的WWW形式,这是同样的方式在应用/的X WWW的形式了urlencoded的媒体类型。这不同于参考» RFC 1738编码(见rawurlencode ( ) )中,对历史的原因,空格编码为加号( + )的迹象。
实例
例如# 1进行urlencode ( )的例子
<?php
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>
Example #2 urlencode() and htmlentities() example
<?php
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>
mysql_get_server_info
定义和用法
该mysql_get_server_info ( )函数得到有关MySQL服务器。
这个函数返回MySQL服务器版本上的成功,或FALSE的失败。
语法
mysql_get_server_info(connection)
参数说明
connection:可选。指定MySQL连接。如果没有指定,最后连接开幕mysql_connect ( )或mysql_pconnect ( )的使用。
来看看实例.
<?php $con = mysql_connect("localhost", "peter", "abc123"); echo "MySQL server info: " . mysql_get_server_info($con); ?>
输出信息为mysql信息哦.
定义和用法
该mysql_real_escape_string ( )函数越狱特殊字符的字符串中使用SQL语句
以下字符的影响:
x00
n
r
'
"
x1a
语法:
这个函数返回字符串过滤成功,或FALSE的失败
mysql_real_escape_string(string,connection)
参数说明
string:必需。指定字符串进行转义
connection:可选。指定MySQL连接。如果没有指定,最后连接开幕mysql_connect ( )或mysql_pconnect ( )的使用。
来看看实例.
$user = mysql_real_escape_string($user); $pwd = mysql_real_escape_string($pwd);
$sql = "SELECT * FROM users WHERE user='" . $user . "' AND password='" . $pwd . "'"// more codemysql_close($con);示例2
数据库的攻击。这个例子表明会发生什么,如果我们不使用mysql_real_escape_string ( )函数的用户名和密码:$_POST['user'] = 'john'; $_POST['pwd'] = "' OR ''='";
这样就容易被sql注入
mysql_field_seek的作用就是在mysql_query返回的记录集中,调到我们指定的记录上,如果有就返回当前记录,没有就是false;
mysql_field_seek语法:
mysql_field_seek(data,field_offset)
参数:
data:必须 指的是mysql_query正确返回的数据集.
field_offset:指定位置.不写代码从0开始
看个mysql_feild_seek实例.
<?
$sql = "SELECT * from Person";$result = mysql_query($sql,$con);mysql_field_seek($result,3);print_r(mysql_fetch_field($result));mysql_close($con);?>输出结果.stdClass Object
(
[name] => Age
[table] => Person
[def] =>
[max_length] => 2
[not_null] => 0
[primary_key] => 0
[multiple_key] => 0
[unique_key] => 0
[numeric] => 1
[blob] => 0
[type] => int
[unsigned] => 0
[zerofill] => 0
)