小编xZe*_*ero的帖子

PHP - 在文件中查找字符串然后显示它的行号

我有一个应用程序,需要打开该文件,然后在其中找到字符串,并打印行号找到字符串.

例如,文件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行找到字符串....这是不正确的....

最终的应用程序要复杂得多......在找到行号后,它应该替换其他字符串,并保存对文件的更改,然后进一步处理....

提前致谢 :)

php string numbers line find

15
推荐指数
1
解决办法
2万
查看次数

MySQL数据库使用PHP在两台服务器之间同步

我在两个不同的服务器上有相同的网站.
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 mysql sql database sync

5
推荐指数
1
解决办法
5567
查看次数

PHP检查字符串是否格式正确

我有一个PHP应用程序,需要一个特殊的激活密钥才能解锁.所以我想创建脚本来检查$user_input格式是否正确.

激活密钥将如下所示:
1E63-DE12-22F3-1FEB-8E1D-D31F

数字和字母间距可能不同.
所以激活密钥可能也是这样或不同的:
1EE3-1E1C-R21D-1FD7-111D-D3Q5

  1. 冒号与 - 分开 -
  2. 每个冒号包含4个字符,这些字符是字母和数字的混合

在此先感谢任何帮助:)

php string formatting

4
推荐指数
1
解决办法
9426
查看次数

PHP Multiply array()*integer

我的代码是:

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 post integer

0
推荐指数
1
解决办法
544
查看次数

PHP-CLI 5.4 - GOTO替代方案

我正在开发一个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)

php command-line goto

0
推荐指数
1
解决办法
207
查看次数

标签 统计

php ×5

string ×2

command-line ×1

database ×1

find ×1

formatting ×1

goto ×1

integer ×1

line ×1

mysql ×1

numbers ×1

post ×1

sql ×1

sync ×1