草庐IT

php - 在换行符上可靠地拆分用户提交的文本区域值

字符串输入来自文本区域,用户应该在新行中输入每个项目。在处理表单时,很容易将输入的textarea分解成这样的单项数组:$arr=explode("\n",$textareaInput);它工作正常,但我担心它在不同系统中不能正常工作(我目前只能在Windows中测试)。我知道换行符在不同平台上表示为\r\n或只是\r。上述代码行在Linux、Solaris、BSD或其他操作系统下是否也能正常工作? 最佳答案 您可以使用preg_split这样做。$arr=preg_split('/[\r\n]+/',$textareaInput)

php - 在 PHP 中对 HTML 进行可靠的单元测试

我正在为工作中的旧PHP代码库添加单元测试。我将测试然后重写大量HTML生成代码,目前我只是测试生成的字符串是否与预期的字符串相同,如下所示:(使用PHPUnit)publicfunctiontestConntype_select(){$this->assertEquals('Sometext',conntype_select(1);//Avaluefromthetestdataset.);}这种方式的缺点是属性顺序、空格和许多其他不相关的细节也会被测试。我想知道是否有更好的方法来做到这一点。例如,是否有任何好的和简单的方法来比较生成的DOM树。我为ruby找到了非常相似的问题,但找不

php - 抓取标题、描述和关键字的可靠方法

目前我正在使用CURL抓取网站。我想可靠地获取标题、描述和关键字。//Parseforthetitle,descriptionandkeywordsif(strlen($link_html)>0){$tags=get_meta_tags($link);//name$link_keywords=$tags['keywords'];//phpdocumentation$link_description=$tags['description'];}唯一的问题是人们现在正在使用各种元标记,例如opengraph.他们还改变了很多标签.很难可靠地获得这些。我真的需要一些代码来一致地提取这些变量。

php - 数组 : 4th dimension, isset 返回不可靠

有谁知道这段代码怎么会与yahoo相呼应?显然没有带有键“某物”的第4个数组,但它一直认为它是那样的。漏洞?特色?$array=array('a'=>array('b'=>array('c'=>'test')));echo'';var_dump($array);echo'';if(isset($array['a']['b']['c']['something'])){echo'yahoo';} 最佳答案 因为PHP认为您正在检查字符串“test”的“某某”位置。请记住,字符串是字符数组。尝试回显$array['a']['b']['c'

php - 了解 php 命令行脚本路径的可靠方法是什么?

我有一个带有符号链接(symboliclink)的文件系统结构,像这样:folder123index.phpconfig.php->symlinktoshared/config.phpsharedconfig.php我在命令行上运行index.php,index.php包含config.php,它是指向其他文件夹中文件的符号链接(symboliclink)。如何从config.php脚本中知道index.php文件路径?所需的结果是“folder123”(以及它的完整路径),而不是“共享”。所以,我不能使用__FILE__。这适用于脚本,由浏览器运行(至少在我的情况下,它与folder

php - $_SERVER ["REMOTE_PORT"] 在确定用户设备方面有多可靠?

我正在创建一个匿名在线投票,我可以通过使用浏览器指纹来消除一些重复的投票。但我仍然担心如果用户更改他的浏览器并再次投票会怎样。所以我试图找出一个有效的设备指纹来解决这个问题。显然ip不是一个选项,因为我的目标用户可能在学校与同学共享同一个ip,或者住在与室友共享ip的公寓里。我正在试验$_SERVER["REMOTE_PORT"]并发现$_SERVER["REMOTE_PORT"]在同一设备上会保持在一个相对一致的范围内否无论我使用什么浏览器,它总是在增加。例如,在Mac1上,无论我使用什么浏览器,我的端口在10分钟的时间间隔内都在(58100,58200)范围内,同样在Mac2上,范

php - 使用 php 获取用户 ip 地址的最可靠方法?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:GettingUsersRealIPaddressusingPHP我想使用php脚本来记录访问我网站的任何人的IP地址,以阻止可能的垃圾邮件发送者。是否有可靠的方法来查找和记录任何人的真实IP地址或最可靠的方法?更新:我的网站只要求用户输入密码才能登录,不需要用户名。如果我想保留当前的验证方法,我还可以使用哪些其他方法来阻止或阻止大多数垃圾邮件发送者?

php - 哪个更可靠 gethostbyaddr($_SERVER ['REMOTE_ADDR' ]) 或 $_SERVER ['REMOTE_HOST' ]

我必须从serverscript获取远程url主机名,以下哪个更可靠:gethostbyaddr($_SERVER['REMOTE_ADDR'])或$_SERVER['REMOTE_HOST'] 最佳答案 这与可靠性无关。这两个变量只是不一样,尽管在某些情况下它们可能包含相同的值。让我解释一下:$_SERVER['REMOTE_ADDR']在所有情况下都会包含远程主机的IP地址,其中$_SERVER['REMOTE_HOST']将包含DNS主机名,如果启用了DNS解析(如果HostnameLookupsApache指令设置为On,感

php - 如果 $_SERVER ['HTTP_REFERER' ] 不可靠,我将使用什么来确保网络应用程序的完整性?

我认为通过使用$_SERVER['HTTP_REFERER']变量来保证我的脚本是从适当的页面。幸运的是,当我在我的测试浏览器中执行header('Location:yourPathHere.php')重定向时,它不会设置$_SERVER['HTTP_REFERER']变量。所以我查看了http://php.net/manual/en/reserved.variables.server.php,才发现这个...'HTTP_REFERER'Theaddressofthepage(ifany)whichreferredtheuseragenttothecurrentpage.Thisiss

java - 需要可靠/持久的出站套接字,选项?

我有一个Scala应用程序,它一次维护(或尝试)到各种服务器的TCP连接数小时(可能>24)。每个服务器大约每秒发送两次约30个字符的短消息。这些消息被送入一个迭代器,在那里它们被解析并最终对数据库进行状态更改。如果这些连接中的任何一个因任何原因失败,我的应用程序需要不断尝试重新连接,直到我另行指定。任何消息丢失都是不好的。我无法控制我连接的服务器或使用的协议(protocol)。可以想象一次会有多达300个这样的连接。不完全是高负载场​​景,所以我认为不需要NIO,尽管拥有它可能会很好?应用的其他部分是高负载的。我正在寻找某种可以尽可能可靠地保持这些连接的套接字Controller/