php urlencode 与 rawurlencode 教程

 更新时间:2016年11月25日 16:39  点击:2271
php urlencode 与 rawurlencode 教程
rawurlencode
( 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) . '">';
?>

好了费话不用说多了我们来看看这款php sys_get_temp_dir -返回临时文件路径函数使用方法与实现原理吧。

sys_get_temp_dir
( PHP 5中“ = 5.2.1 )

sys_get_temp_dir -返回目录路径用于临时文件

描述
字符串sys_get_temp_dir (无效)
返回目录路径的PHP商店临时文件在默认情况下。

返回值
返回路径的临时目录中。

实例

例如# 1 sys_get_temp_dir ( )的例子

Examples

Example #1 sys_get_temp_dir() example

<?php
// Create a temporary file in the temporary
// files directory using sys_get_temp_dir()
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>
The above example will output something similar to:

C:WindowsTempTuxA318.tmp

此函数的实现方法:

<?php
if ( !function_exists('sys_get_temp_dir')) {
  function sys_get_temp_dir() {
    if (!empty($_ENV['TMP'])) { return realpath($_ENV['TMP']); }
    if (!empty($_ENV['TMPDIR'])) { return realpath( $_ENV['TMPDIR']); }
    if (!empty($_ENV['TEMP'])) { return realpath( $_ENV['TEMP']); }
    $tempfile=tempnam(uniqid(rand(),TRUE),'');
    if (file_exists($tempfile)) {
    unlink($tempfile);
    return realpath(dirname($tempfile));
    }
  }
}
?>

flock在php中的作用是操作文件时锁定文件,只取取消锁定时才可用。

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);

?>

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 code
mysql_close($con);
 

示例2
数据库的攻击。这个例子表明会发生什么,如果我们不使用mysql_real_escape_string ( )函数的用户名和密码:

$_POST['user'] = 'john'; $_POST['pwd'] = "' OR ''='";

这样就容易被sql注入

 

 

 

[!--infotagslink--]

相关文章

  • Painter绘制红衣喝酒男水粉画效果教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • iPhone6怎么激活?两种苹果iPhone6激活教程图文详解

    iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14
  • Photoshop制作雨中野外孤独行走的一头牛海报教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
  • Painter绘制帅气卡通魔法王子漫画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • Illustrator鼠绘堆雪人的孩童矢量插画教程

    今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • llustrator绘制扁平化风格卡通警察护士空姐肖像教程

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
  • js URLdecode()与urlencode方法支持中文解码

    下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。 代码如下 复制代码 ...2016-09-20
  • php中json_decode()和json_encode()用法与中文不显示解决办法

    本文章介绍了关于php中json_decode()和json_encode()用法与中文不显示解决办法,有需要的朋友可以参考一下下。 php中json_decode()和json_encode() 1.json_decode(...2016-11-25
  • Illustrator绘制一个方形的录音机图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
  • photoshop简单制作一个搞笑的换脸表情包教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
  • photoshop给手绘画调色变换场景后期教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
  • 美图秀秀让你胸丰满起来处理教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
  • Painter绘制雷神传插画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • VSCode 配置uni-app的方法

    这篇文章主要介绍了VSCode 配置uni-app的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • MySQL中的联合索引学习教程

    联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24
  • Lua语言新手简单入门教程

    这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30
  • MySQL日志分析软件mysqlsla的安装和使用教程

    一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24