php urlencode中文编码与urlencode语法

 更新时间:2016年11月25日 16:50  点击:1417

str urlencode($string)
此功能是方便的编码字符串时要在URL的查询的一部分用来作为一种方便的方法传递变量到下一页。

我写了这个简单的函数,创建一个GET查询的网址()从一个数组:
*/

function encode_array($args)
{
  if(!is_array($args)) return false;
  $c = 0;
  $out = '';
  foreach($args as $name => $value)
  {
    if($c++ != 0) $out .= '&';
    $out .= urlencode("$name").'=';
    if(is_array($value))
    {
      $out .= urlencode(serialize($value));
    }else{
      $out .= urlencode("$value");
    }
  }
  return $out . " ";
}

//如果有在$ args数组数组,它们将被序列化之前进行了urlencoded。


echo encode_array(array('foo' => 'bar'));                    // foo=bar
echo encode_array(array('foo&bar' => 'some=weird/value'));   // foo%26bar=some%3Dweird%2Fvalue
echo encode_array(array('foo' => 1, 'bar' =>  'two'));       // foo=1&bar=two
echo encode_array(array('args' => array('key' => 'value'))); // args=a%3A1%3A%7Bs%3A3%3A%22key%22%3Bs%3A5%3A%22value%22%3B%7D

/*
我需要一个在PHP函数在JavaScript中做完整的逃生功能相同的工作。我花一些时间不找到它。但findaly我决定写我自己的代码。因此,为了节省时间
*/

function fullescape($in)
{
  $out = '';
  for ($i=0;$i<strlen($in);$i++)
  {
    $hex = dechex(ord($in[$i]));
    if ($hex=='')
       $out = $out.urlencode($in[$i]);
    else
       $out = $out .'%'.((strlen($hex)==1) ? ('0'.strtoupper($hex)):(strtoupper($hex)));
  }
  $out = str_replace('+','%20',$out);
  $out = str_replace('_','%5F',$out);
  $out = str_replace('.','%2E',$out);
  $out = str_replace('-','%2D',$out);
  return $out;
 }
//I needed encoding and decoding for UTF8 urls, I came up with these very simple fuctions. Hope this helps教程!我需要为UTF8的编码和解码网址,我想出了这些非常简单fuctions。希望这会有所帮助

 function url_encode($string){
        return urlencode(utf8_encode($string));
    }
   
    function url_decode($string){
        return utf8_decode(urldecode($string));
    }
/*
urlencode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎教程中输入中文查询时候,生成经过 Encode过的网页URL。urlencode的方式一般有两种一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),一种是 基于utf-8的Encode(Google,Yahoo等使用)。本工具分别实现两种方式的Encode与Decode。

中文 -> GB2312的Encode -> %D6%D0%CE%C4
中文 -> utf-8的Encode -> %E4%B8%AD%E6%96%87

如果要使用utf-8的Encode,有两种方法:

一、将文件存为utf-8文件,直接使用urlencode、rawurlencode即可。
二、使用mb_convert_encoding函数。

<?php
$url = 'http://www.111cn.net/中文.rar';
echo urlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." ";
echo rawurlencode(mb_convert_encoding($url, 'utf-8', 'gb2312'))." ";
//http%3A%2F%2Fwww.111cn.net%2F%E4%B8%AD%E6%96%87.rar
?>

//实例用我们用imagecreatetruecolor
header ('Content-type: image/png');
$im = @imagecreatetruecolor(120, 20)
      or die('Cannot Initialize new GD image stream');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);

//我把这个一起 - 结合较好的例子,然后动态生成的文本。但是,与此成立,我能得到透明背景以及工作。
//实例二imagecreatetruecolor
header('Content-type: image/png');

// Create the image
$im = imagecreatetruecolor(175, 15);
imagesavealpha($im, true);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 150, 25, $black);
$trans_colour = imagecolorallocatealpha($im, 0, 0, 0, 127);
imagefill($im, 0, 0, $trans_colour);

// The text to draw
$text = $_GET['text'];
// Replace path by your own font path
$font = 'catriel regular.ttf';

// Add some shadow to the text
imagettftext($im, 9, 0, 13, 16, $black, $font, $text);

// Add the text
imagettftext($im, 9, 0, 12, 15, $white, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);

/*
实例三创建透明图片

如果你想创建一个PNG图像*透明*,其中的背景是完全透明的,所有行动发生在借鉴,除此之外,然后执行下列操作:
*/
$png = imagecreatetruecolor(800, 600);
    imagesavealpha($png, true);

    $trans_colour = imagecolorallocatealpha($png, 0, 0, 0, 127);
    imagefill($png, 0, 0, $trans_colour);
   
    $red = imagecolorallocate($png, 255, 0, 0);
    imagefilledellips教程e($png, 400, 300, 400, 300, $red);
   
    header("Content-type: image/png");
    imagepng($png);
/*
你要做的就是创建一个真正的彩色图像,确保阿尔法保存状态是,然后填写一个颜色,也经历了阿尔法级别设置为完全透明(127)的图像。

从上面的代码产生的巴新将有一个完全透明的背景(一红色圆圈拖到Photoshop中的图像,以了解自己)
The resulting PNG from the code above will have a red circle on a fully transparent background (drag the image into Photoshop to see for yourself)

strtotime(字符串$时间[,诠释$现在])int strtotime ( string $time [, int $now ] 该函数期望得到一个包含美国英语日期格式,并会尝试解析成一个Unix时间戳(多少秒自1970年1月1日00:00:00星期一该格式),相对于现在提供的时间戳,或当前时间如果现在不提供。

这个函数将使用TZ环境变量(如果有)来计算时间戳。自PHP 5.1.0有更容易的方法来确定所使用的所有/日期时间函数的时区。这一过程是解释在date_default_timezone_get()函数的一页

解析的字符串。在PHP 5.0.0,不允许在微秒的时间,自PHP 5.0.0他们是允许的,但忽略。

现在
哪些是作为计算基数相对日期使用时间戳。

返回值
在成功返回一个时间戳,否则返回FALSE。前到PHP 5.1.0,这个函数将返回失败-1。

Returns a timestamp on success, FALSE www.111cn.netotherwise. Previous to PHP 5.1.0, this function would return -1 on failure.

现在我们来看看strtotime字符转换成时间的函数实例

 

<?php教程
//function
function nextWeeksDay($date_begin,$nbrweek)
{
$nextweek=array();
for($i = 1; $i <= $nbrweek; $i++)  { // 52 week in one year of coursewww.111cn.net
$nextweek[$i]=date('D d M Y', strtotime('+'.$i.' week',$date_begin));
}
return $nextweek;
}
/// end function
/// example of a select date
// var
$date_begin = strtotime('06-05-2010'); //D Day Month Year  - like function format.
$nbrweek=52;
// call function
$result=nextWeeksDay($date_begin,$nbrweek);
// Preview
for($i = 1; $i <= $nbrweek; $i++)  {
echo '<br> - '.$result[$i];
}
?>

<?php
$str = 'Not Good';

// previous to PHP 5.1.0 you would compare with -1, instead of false
if (($timestamp = strtotime($str)) === false) {
    echo "The string ($str) is bogus";
} else {
    echo "$str == " . date('l dS o F Y h:i:s A', $timestamp);
}
?>
<?php
echo strtotime("now"), " ";
echo strtotime("10 September 2000"), " ";
echo strtotime("+1 day"), " ";
echo strtotime("+1 week"), " ";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), " ";
echo strtotime("next Thursday"), " ";
echo strtotime("last Monday"), " ";
?>

这是一个快速函数计算在一年期间,“工作天”。 “工作日”是指那些没有周末,没有假期在$数组中指定的假日。我离开了读者的实施超过1年。

function get_working_days($to_date) {
    $holidays = array(
        1 => array(10), //2011 ...
        2 => array(11),
        3 => array(21), //... 2011
        4 => array(29,30), //2010 ...
        5 => array(3,4,5),
        6 => array(),
        7 => array(19),
        8 => array(11,12,13),
        9 => array(20,23),
       10 => array(11),
       11 => array(3,23),
       12 => array(23) //... 2010
    );

    for($to_date, $w = 0, $i = 0, $x = time(); $x < $to_date; $i++, $x = strtotime("+$i day")) {
       if(date("N",$x) < 6 &! in_array(date("j",$x),$holidays[date("n",$x)])) $w++;
    }
    return $w;
}

//Usage:
echo get_working_days(strtotime("2011-01-08"));

格式化时间和/或日期按区域设置。月份和星期几以及其它和语言有关的字符串当前语言环境的设置与那么setlocale()。

不是所有的转换说明符,可支持您的C库,在这种情况下,他们不会将PHP的strftime()的支持。此外,并不是所有的平台的支持负的时间戳,因此您的日期范围可能仅限于不早于Unix的时代。这意味着,一样%e,%吨,%R和,%d个(或其他) - 以及1月1日之前的日期 - 1970年将无法工作在Windows,一些Linux发行版本,以及其他一些操作系统。对于Windows系统,支持的转换说明符的完整概述,可在

面的字符是字符串格式的格式参数为例说明确认返回的值
日--- www.111cn.net   ---
%1天的简写孙周六的文字表述
%机管局充分的文字表述的一天星期日到星期六
%Ð双位数天的月(带前导零)01至31
%é天的月份,一前一个位数至31空间
引用%j天的一年,3前导零001至366位
%u个通过ISO - 8601数字表示为星期一)在本周一(天虽然7(星期日)
%瓦特数字表示的一周0星期日(日)至6(星期六)
周--- ---
%ü给定的数周开始,每年的第一个星期日为第一周的13 13年度全周()
%的V通过ISO - 8601:1988年该年年底的周数,首先是今年的第一个星期,至少有4个周日与周一是一周的01到53开始(其中53个为一重叠周帐户)
西澳%的数字表示该年的一周,首先是第一个星期一为第一周的46日与1年46周开始()
一个月--- ---
%b的月份名称缩写的基础上,通过现场1月12月
%B全部月份名称的基础上,现场1月至12月
%的H月份名称的缩写,基于区域设置(通过了12%,别名二)1
%米两个数字代表该月的01(1月)到12(12月)
年--- ---
%C两世纪(除以100年两位数的代表性,取整)为20世纪19
%克的两个通过ISO - 8601年持续两位数代表:1988标准(参见%V)例:为6周1月09日
%G的全部4位数字的%版本克为例:对2009年1月3日周2008
%,比前两个数字代表该年为例:09 2009年,1979年79
%,比前4位数字表示该年为例:2038年
时间--- ---
%的H 2位数字表示在24小时格式的00到23小时
到12%,我的两个12小时格式零一小时位代表
%升(小写的L')在12小时格式小时,与前面的1到12个位数的空间
%男两位数代表性的00到59分钟
%p大写'am'或'总理'的基础上给定的时间例:上午12点31分,下午为22:23
%P的较低情况下的'我'或'时'的基础上给定的时间例:上午12点31分,下午为22:23
%ṛ同为“%1:%男:%的S%P”的例子:9点34分17秒为下午21点34分17秒
%ṛ同为“%的H:%M”的例子:上午12时35分,00:35 16:44为下午4时44
%,第二的两个00位代表通过59
%Ŧ同为“%高:%男:%S个”例子:下午9点34分17秒21点34分17秒
%×首选区域代表性的时间没有日期,例如:3时59分十六秒或十五时59分16秒
%ž无论从UTC的时区或缩写(偏移取决于操作系统)为例:-0500或东部时间美国东部时间
%ž时区偏移/缩写选择不再由%给予Ž(于操作系统而定)例:-0500或东部时间美国东部时间
时间和日期戳--- ---
%ç首选日期和时间戳根据当地为例:星期二2月5日零点45分10秒2009年为2009年2月4日在上午12时45分十秒
%,同为“%米的D /%d个/%Y”字为例:02/05/09为2009年2月5日
%,同为“%女的Y%米-%D”类(常用的数据库教程日戳使用)为例:2009-02-05为2009年2月5日
%s的Unix纪元时戳(视时间为9月10日()函数)例:305815200,1979上午八时四十分00秒相同
%×首选日期代表性区域的基石,不受时间,例如:02/05/09,为2009年2月5日
杂项--- ---
%n个一个换行符(“ N”的)---
%吨制表符(“ t”的)---
%%一个文字字符("%")百分比---


这个参数的最大长度为1023个字符。

现在我们来看一下strftime实例

<?php教程
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A. ");
?>

<?php
$ts = strtotime("4 Nov 2009");
echo strlen(strftime("%-e", $ts)), " "; // "1" (no padding)
echo strlen(strftime("%e", $ts)), " "; // "2" (space padded)
?>

实例三

<?php
// Date string
$timestamp     =     strftime("%Y-%m-%d %H:%M:%S %Y");

// From this string ($timestamp) can we print
echo strftime("%a %d %b %H:%M:%S %Y", strtotime($timestamp))."<br/>";
echo strftime("%a %d %b %H:%M", strtotime($timestamp))."<br/>";
echo strftime("%Y-%m-%d %H:%M:%S", strtotime($timestamp))."<br/>";
echo strftime("%Y-%m-%d %H:%M", strtotime($timestamp))."<br/>";
echo strftime("%Y-%m-%d", strtotime($timestamp))."<br/>";
echo strftime("%a %d %b %Y", strtotime($timestamp))."<br/>";

/*And it will output

Wed 20 May 15:53:40 2009
Wed 20 May 15:53
2009-05-20 15:53:40
2009-05-20 15:53
2009-05-20
Wed 20 May 2009

*/
?>

关于strftime实例五

function calculateFiscalYearForDate($inputDate, $fyStart, $fyEnd){
    $date = strtotime($inputDate);
    $inputyear = strftime('%Y',$date);
       
    $fystartdate = strtotime($fyStart.$inputyear);
    $fyenddate = strtotime($fyEnd.$inputyear);

    if($date < $fyenddate){
        $fy = intval($inputyear);
    }else{
        $fy = intval(intval($inputyear) + 1);
    }
   
    return $fy;
   
}

// my fiscal year starts on July,1 and ends on June 30, so...
echo calculateFiscalYearForDate("5/15/08","7/1","6/30");
// returns 2008

echo calculateFiscalYearForDate("12/1/08","7/1","6/30");

本站整理转载注明来自www.111cn.net 谢谢合作

opendir语法
 opendir(path,context) 目录
 功能说明
 打开目录句柄,opendir() 函数打开一个目录句柄 则该函数返回一个目录流,否则返回 false
 
 来看个opendir列出目录下所有文件实例
*/

$dirs ='./';//指定当前上当
if( is_dir( $dirs ) )
{
 $hanld = opendir($dirs);
 
 while (($file = readdir($hanld)) !== false)
 {
   echo "文件名: " . $file . "<br />";
 }
 closedir($hanld);
}
else
{
 echo '不是目录';
}

/*
输出结果
文件名:a
文件名:b
文件名:www.111cn.net
*/


/*
提示和注释
注释:从 PHP 5.0.0 开始,path 参数支持 ftp:// URL wrapper。

注释:在 PHP 4.3.0 中, path 参数可以是任何支持目录列表的 URL,不过在 PHP 4 中只有 file:// URL wrapper 支持此功能。

[!--infotagslink--]

相关文章

  • 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
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。首先:用show variables like “%colla%”;show varables like “%char%”;这两条...2015-11-24
  • C#读取中文文件出现乱码的解决方法

    这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15
  • linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
  • php怎么用拼音 简单的php中文转拼音的实现代码

    小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
  • PHP json_encode() 函数详解及中文乱码问题

    在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是将数值转换成json数据存储格式。<&#63;php$arr = array ( 'Name'=>'希亚', 'Age'...2015-11-08
  • Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
  • c#字符串编码编码(encoding)使用方法示例

    System.Text提供了Encoding的抽象类,这个类提供字符串编码的方法。使Unicode字符数组的字符串,转换为指定编码的字节数组,或者反之,看下面的例子...2020-06-25
  • 通过javascript进行UTF-8编码的实现方法

    下面小编就为大家带来一篇通过javascript进行UTF-8编码的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-07-01
  • FlashFXP连接站点中文显示乱码解决办法

    FlashFXP是一款常用的服务器客户连接软件了,我们可以通过FlashFXP来上传或下载文件,但有一些朋友使用FlashFXP时碰到中文目录或文件名乱码问题,那么要如何来解决呢?具体就...2016-10-10
  • php中把unicode编码转化为中文

    小编在网上看到最多的就是汉字转换unicode编码了,今天我们看到一个反过来的操作就是把unicode转换成中文了,下面一起来看看 这两天帮别人开发微信平台好友板块,存...2016-11-25
  • .Net(c#)汉字和Unicode编码互相转换实例

    下面小编就为大家带来一篇.Net(c#)汉字和Unicode编码互相转换实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • php 判断是否是中文/英文/数字示例代码

    复制代码 代码如下: $str='asb天水市12'; if (preg_match("/^[/x7f-/xff]+$/", $str)){ echo '全部是汉字'; }else { echo '不全是汉字'; } /** PHP自带的判断是否是中文, eregi('[^/x00-/x7F]', $str ) //中文 ereg...2013-10-04
  • php json_encode值中大括号与花括号区别

    1.当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串复制代码 代码如下:$test...2013-10-04
  • php中文转换成拼音代码

    <?php教程 function cn2pinyin($_string, $_code='gb2312') { $_datakey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|b...2016-11-25
  • JavaScript过滤字符串中的中文与空格方法汇总

    这篇文章主要介绍了JavaScript过滤字符串中的中文与空格方法汇总 的相关资料,需要的朋友可以参考下...2016-03-09