草庐IT

Bash$编码$Shell

全部标签

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

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

PHP fputcsv编码

我用fputcsv创建csv文件。我希望csv文件在windows1251ecnding中。但是找不到解决方案。我怎样才能做到这一点?干杯 最佳答案 Excel文件的默认编码是机器特定的ANSI,主要是windows1252。但是由于您正在创建该文件并可能插入UTF-8字符,因此该文件将无法正常处理。您可以在创建文件时使用iconv()。例如:functionencodeCSV(&$value,$key){$value=iconv('UTF-8','Windows-1252',$value);}array_walk($values,

php - 我是否需要在 ajax 请求和接收该请求的 php 之间编码/解码查询参数?

我想通过ajax调用作为参数发送整个sql命令。我是否必须逃避它或对此做一些特别的事情?类似tools.php?database=db2&sql=select*fromtable如果需要转义如何在javascript/jquery中实现然后我该怎么做才能在php中阅读它注意-非常具体的用例和系统设置网络服务器只能从内部我们的内部网络访问。如果有人闯入,他们可以获得所有数据库,所以我通过这个问题改进的“小应用程序”根本不重要。我已经通过我的网络应用程序实现了整个数据库的删除、更新整个列、更新数据库的设置等。我只想添加这个新功能。我什至可能碰巧我将成为此Web应用程序的唯一用户。

PHP:如何创建编码为 "UTF-8 without BOM"的文件

我猜,你们大多数人都知道我们有以下文件编码:美国标准UTF-8通过在文件开头添加三个字符来识别UTF-8,但如您所知,这些字符会在PHP语言中造成一些麻烦所以我们使用没有BOM的UTF-8(而不是UTF-8)这是我的问题:我们如何使用frwite()或任何其他函数(无关紧要)编写一个编码为(UTF-8无BOM)的新文件(使用PHP)(我不是在询问编辑器设置>我是在询问有关使用php函数创建文件的问题) 最佳答案 恐怕您在问题中错误地陈述了UTF-8和ANSI。UTF-8不需要在开头有BOM。没有像“UTF-8withoutBOM”编

php - 如何在 php 中将 RGB 转换为 1px base64 编码的数据 uri

我正在尝试找出一种更有效的方法来在php中从单个RGB颜色代码创建1pxx1px图像(jpg、png和gif)。下面的示例说明了一种实现方法,但我希望有某种算法可以在无需加载任何库或php扩展的情况下获得相同的输出。示例:functionrgbToDataUri($r,$g,$b,$type){$im=imageCreateTrueColor(1,1);imageFill($im,0,0,ImageColorAllocate($im,$r,$g,$b));ob_start();switch($type){case'gif':imageGif($im);break;case'jpg':c

PHP - 如何使用 ANSI 编码保存文本文件?

我在做:file_put_contents("txt/myfile.txt",$fileContents);我尝试了很多方法来强制我的文本文件为ANSI,例如:$fileContents=mb_convert_encoding($fileContents,mb_detect_encoding($fileContents,mb_detect_order(),true),'WINDOWS-1252');我也试过:$fileContents=iconv("ISO-8859-1","WINDOWS-1252",$fileContents);我需要ANSI,因为当我使用MS-DOS(Window

nginx - php-fpm 不工作 exec、系统、shell_exec,只有 CLI

php-fpm,nginx使用时执行.phpfiles()shell_exec()system()在命令行中运行良好。运作良好的例子:#phpmyphp.phpmyphp.php包含:但是如果我在我的浏览器上输入http://localhost/myphp.php,它就不再工作了。有什么想法吗?我编辑我创建了一个包含以下内容的文件:#catinfo.php在我的浏览器中,打印execisenabled,yphpinfo..我创建了一个包含以下内容的文件:#catinfo.php在我的浏览器中,打印Doittheregularway难道我不想知道自己是否在jail里吗?在我的phpini

php - 使用 shell 脚本通过 php 运行 mkdir 不工作

我创建了一个文件test.sh,如下所示:#!/bin/shmkdir/testDir如果我在命令行上运行脚本,如:sudo/path/to/test.sh它会成功创建目录。我在visudo中添加了这样的sudo权限:www-dataALL=NOPASSWD:/path/to/test.sh我在我的.php文件中运行这样的脚本:shell_exec('sh/path/to/test.sh');但是没有创建目录!我做错了什么?!sudo权限的用户是否正确?当我在php文件上运行shell_exec('whoami')时,我得到:www-data从php到脚本的正确路径?我已经通过添加像这

phpass 的自定义 base 64 编码器 : does it have a name/advantage over Base64?

phpass在encode64()中使用了一个奇怪的(对我来说)算法以base64编码。Base64和Uuencode线性分块6位以在映射到可打印字符之前生成每个八位位组。encode64随机排列位:inputbitlocation:abcdefghijklmnopqrstuvwxbase64bitlocation:..abcdef..ghijkl..mnopqr..stuvwxencode64bitlocation:..cdefgh..mnopab..wxijkl..qrstuv这个算法是众所周知的吗?除了向后兼容,为什么选择它而不是Base64?下面我重写了它以阐明算法:funct

php - Cron 执行的 Bash 脚本中的 PHP 脚本序列未运行

我有四个PHP脚本,它们执行需要按顺序执行的各种任务。与其为每个PHP脚本创建一个cron条目,我想我会更聪明并将其包装为Bash脚本,如下所示:#!/bin/bash#setnotificationemail.NOTIFYEMAIL="webmaster@example.com"#setPHPpath.PHP="$(whichphp)"#setfolderpath.FOLDER="/var/www/example.com/processors/"#listofscripts.SCRIPTS=("script_1""script_2""script_3""script_4")#exec