草庐IT

符号化

全部标签

php - 此正则表达式匹配尚未编码的符号的任何陷阱

在PHP中,我想对尚未编码的符号进行编码。我想出了这个正则表达式/&(?=[^a])/到目前为止它似乎运行良好,但鉴于我不是一个正则表达式专家,我想问一下是否可以在这个正则表达式中看到任何潜在的陷阱?本质上它需要将&转换为&但将&保留在&中(以免得到&)谢谢更新感谢您的回答。看来我的思考不够广泛,无法涵盖所有​​基础。这似乎是正则表达式本身的一个常见陷阱(必须考虑所有可能使您的正则表达式出现误报的可能性)。它确实打败了我原来的str_replace('&','&',$string);:) 最佳答案 更好的是negativel

php - CodeIgniter URI 中的百分比符号

我需要将编码字符串传递给CodeIgniterController。示例:DOSOMETHING/Coldplay/Fix+You/273/X+%26+Y/我的问题是百分比符号是不允许的字符。我尝试使用以下内容更改配置文件:$config['permitted_uri_chars']='a-z0-9~%.:_\-\+\%';+可以,但%无效。您能帮我更改此regexp以允许使用%符号吗?提前致谢! 最佳答案 将“-”放在字符串的末尾,否则它会被解释为范围。如您所见,%已在允许的字符列表中。$config['permitted_uri

php - PHP 中的 '?' 、 '()' 和 ':' 符号是什么意思?

我终于想起来要问什么了。我从来没有真正得到什么:和?当像这样定义变量时做:$ip=($_SERVER['HTTP_X_FORWARDED_FOR'])?$_SERVER['HTTP_X_FORWARDED_FOR']:$_SERVER['REMOTE_ADDR'];如您所见,有?和:和()谁能简要介绍一下它们的用途和用途? 最佳答案 表达式看起来像这样:$var=(condition)?if_true:if_false?:是ternaryoperator。如果condition是真的,$var将被分配值if_true;否则它将被分配

PHP标点符号混淆

在脚本中写入文件时,我很难直接获取PHP.和"。我是新手,所以看起来很困惑。这本书是这样做的:$outputstring=$date."\t".$tireqty."tires\t".$oilqty."oil\t".$sparkqty."sparkplugs\t\$".$totalamount."\t".$address."\n";问题是句号和引号的适当位置是什么。由于它们是如何混合在一起的,我不知道它们需要附加到什么上。每个变量是否需要是".$VARIABLE."还是它们用于\t"之类的选项卡。我想重新排列它,所以有一段字符串,接着是一个变量,然后是一个新行。我认为它应该是这样的:$o

从符号链接(symbolic link)调用 tinyMCE 时出现 PHP 错误 "No input file specified"

我使用tinyMCE使用PHP压缩器。我想将它放在一个文件夹中,供我服务器上所有需要它的域使用,而不是为每个站点提供一个副本。但是,自从我知道it'snotcross-domains,我想我可以把它放在一个文件夹中,每个站点都可以通过符号链接(symboliclink)访问该文件夹。但是我遇到了这个PHP错误:Noinputfilespecified.我的印象是它与tinyMCE本身的关系比与符号链接(symboliclink)的关系小,但我没有任何线索。有人知道吗?谢谢!更新:经过大量挖掘,它似乎与Apache有关。PHP是通过FCGId运行的,貌似是权限错误。但是,如果我使用mod

php - 使用 cURL 上传不带@符号的文件?

我这里有一个小问题,我如何专门告诉cURL将文件附加到请求?如果我使用cURL上传文件,那么常见的方法是将其作为POST数据数组的一部分附加到其前面带有@的值,例如:CURLOPT_POSTFIELDS=>array('my-file'=>'@my-file.txt')这显然可行,但我有两个问题:如果它实际上不是我正在上传的文件怎么办?如果我的POST值实际上是“@my-file.txt”并且它尝试上传文件怎么办?它造成了我极力避免的漏洞。如何从URL上传文件?我是否必须下载它,将其存储在临时文件夹中,然后使用该临时文件夹中的@附加它?为什么我不能只为cURL提供我希望用作文件的内容?

php - 将 4 字节大整数写为无符号二进制

我有在值之间float的整数:4000000000-4294967000(小于4字节无符号整数的int最大值)我想把它保存到文件中,然后重新读取值$f=fopen($fileName,'wb');fwrite($f,pack('I',$value));重要的是,在文件中,值必须是精确的4字节unsignedint,因为外部设备需要这种格式的数据。但是PHP将这么大的值存储为float,并破坏了二进制表示。我如何以那种格式将这些数字写入文件?[编辑]@FractalizeRthx这个作品我有:protectedstaticfunctionhandleUint($direction,$va

php - 没有符号链接(symbolic link)解析的绝对路径/将用户保留在主目录中

在PHP中有没有一种方法可以在给定相对路径的情况下确定绝对路径而不实际解析符号链接(symboliclink)?类似于realpath函数但没有符号链接(symboliclink)解析。或者,是否有一些简单的方法来检查用户(使用我浏览的PHP脚本来查看文件的用户)是否不小心离开了Apache虚拟主机的主目录?(或者不允许他在路径中使用讨厌的.和..)谢谢! 最佳答案 我不知道这方面的PHPnative解决方案,但这里有一个不错的绝对路径实现:http://www.php.net/manual/en/function.realpath

php - 推文中的西里尔符号

我使用EpiTwitter,它工作正常,但是当$varx有西里尔符号时$varx="Привет";$status=$Twitter->post_statusesUpdate(array('status'=>$varx));API答案'error'=>string'CouldnotauthenticatewithOAuth.''request'=>string'/statuses/update.json'我在$varx上尝试了很多变体,比如urlencode、json_encode,但它发布了这个函数的答案我的文件是没有BOM的utf-8,我也试过ansi有什么想法吗?

php - 为什么 PHP 的 float 0(零)显示时带符号?

在PHP中,让我们创建一个变量并将其值设置为0:$x=0;echo$x;它将显示0。如果将其乘以-1:$x=-1*$x;echo$x;我们仍然看到0。但是如果$x是一个float:$x=0;$x=(float)$x;$x=-1*$x;echo$x;我们会得到输出:-0。这是为什么呢?零不应该总是无符号显示,不管它的底层类型是什么? 最佳答案 因为PHP通常对float使用IEEE754double格式,它包括:1)符号(1位)2)指数(11位)3)分数(52位)如果将$x与-1相乘,则设置符号位。整数使用两个补码,其中最高有效位(M