我有一个应用程序,需要打开该文件,然后在其中找到字符串,并打印行号找到字符串.
例如,文件example.txt包含几个哈希:
APLF2J51 1a79a4d60de6718e8e5b326e338ae533
EEQJE2YX 66b375b08fc869632935c9e6a9c7f8da O87IGF8R
c458fb5edb84c54f4dc42804622aa0c5 APLF2J51
B7TSW1ZE 1e9eea56686511e9052e6578b56ae018
EEQJE2YX affb23b07576b88d1e9fea50719fb3b7
所以,我想用PHP搜索"1e9eea56686511e9052e6578b56ae018"并打印出它的行号,在这种情况下为4.
请注意,文件中不会有多个哈希值.
我在互联网上找到了一些代码,但似乎都没有.
我试过这个:
<?PHP
$string = "1e9eea56686511e9052e6578b56ae018";
$data = file_get_contents("example.txt");
$data = explode("\n", $data);
for ($line = 0; $line < count($data); $line++) {
if (strpos($data[$line], $string) >= 0) {
die("String $string found at line number: $line");
}
}
?>
Run Code Online (Sandbox Code Playgroud)
它只是说在第0行找到字符串....这是不正确的....
最终的应用程序要复杂得多......在找到行号后,它应该替换其他字符串,并保存对文件的更改,然后进一步处理....
提前致谢 :)
我在两个不同的服务器上有相同的网站.
Master Database - server1
Slave Database - Server2
我想制作PHP脚本,它将检查master数据库中的更改,如果发现任何它将与slave数据库同步.我将为该脚本设置chronjob,以便每隔几分钟运行一次.
我在谷歌上发现了一些脚本,但根本不起作用.我尝试使用PMS,但我收到了:
注意:使用未定义的常量主机 - 在第57行的/var/www/demos/pms/pmslib.php中假定为'host'
注意:在/ var/www/demos/pms /中使用未定义的常量用户 - 假定为'user'第57行的pmslib.php
注意:使用未定义的常量传递 - 在第57行的/var/www/demos/pms/pmslib.php中假定为'pass'
注意:使用未定义的常量基数 - 在/ var /中假定为'base' www/demos/pms/pmslib.php第63行
注意:使用未定义的常量主机 - 在第79行的/var/www/demos/pms/pmslib.php中假定为'host'
注意:使用未定义的常量主机 - 假定'第57行上的/var/www/demos/pms/pmslib.php中的主机'
注意:在第57行的/var/www/demos/pms/pmslib.php中使用未定义的常量用户 - 假定为'user'
注意:使用未定义的常量传递 - 在第57行的/var/www/demos/pms/pmslib.php中假定为'pass'
注意:使用未定义的常量库 - 在/ var/www/demos/pms /中假定为'base'第63行的pmslib.php
注意:使用未定义的常量主机 - 在第79行的/var/www/demos/pms/pmslib.php中假定为'host'
我有一个PHP应用程序,需要一个特殊的激活密钥才能解锁.所以我想创建脚本来检查$user_input格式是否正确.
激活密钥将如下所示:
1E63-DE12-22F3-1FEB-8E1D-D31F
数字和字母间距可能不同.
所以激活密钥可能也是这样或不同的:
1EE3-1E1C-R21D-1FD7-111D-D3Q5
在此先感谢任何帮助:)
我的代码是:
POST的HTML部分:
<form action='key.php' method='POST'>
<input type='number' name='consumervar[]' value='512'/>
<input type='number' name='consumervar[]' value='256'/>
<input type='number' name='consumervar[]' value='1024'/>
<input type='submit'/>
</form>
Run Code Online (Sandbox Code Playgroud)
key.php的PHP代码:
<?PHP
foreach ($_POST as $key => $value) {
$consumervar = $value*64;
}
print_r($consumervar); // this is for for debug (see array contents)
?>
Run Code Online (Sandbox Code Playgroud)
当我运行它重现的所有东西时BUt:
Fatal error: Unsupported operand types in /var/blahblah/blahblah/key.php on line 3
Run Code Online (Sandbox Code Playgroud)
请帮忙.怎么做正确?它需要将每个发布的值乘以整数64.
我正在开发一个PHP-CLI(PHP 5.4+)应用程序,并且我需要分配邪恶的goto.
例:
<?PHP
// I use PHP League CLImate and I load it here
/*
*
* Many lines of different code and output
*
*/
MAIN_MENU:
// Some checks which will affect menu below
$climate->clear();
$climate->white("1. Eat sandwich");
$climate->white("2. Eat apple");
$input = $climate->white()->input('Lets go and:');
$input->accept([1, 2]);
$option = $input->prompt();
switch ($option) {
case 1:
// Eat sandwich and show output
// Show some more output
// Pause a bit
GOTO MAIN_MENU;
case 2:
// …Run Code Online (Sandbox Code Playgroud)