这是我的代码
<?php
$configFileContents = file_get_contents('config.php');
if (!empty($configFileContents)) {
if (strstr($configFileContents, 'define(\'APP_FTP_HOST\',')) {
$configFileContents = preg_replace('/define\(\'APP_FTP_HOST\', .*\);/', '', $configFileContents);
}
}
file_put_contents("config.php", $configFileContents);
?>
的config.php
<?php
define('APP_FTP_HOST', '1.2.3.4.5'); // Your Hostname
define('APP_FTP_PORT', '21'); // Your FTP Port
define('APP_FTP_BASE', 'xxxx');
define('APP_FTP_USER', 'xxxx'); // Your FTP User
define('APP_FTP_PASS', 'xxxx'); // Your FTP Password
define('APP_FTP_SSL', 0); //set 1 if you use FTP SSL
define('APP_FTP_USE_SFTP', 0);//set 1 if you use SFTP
?>
以上代码仅删除
define('APP_FTP_HOST', '1.2.3.4.5');
我需要从该文件中删除整行吗?
答案 0 :(得分:0)
要删除的第一个匹配常量定义,然后匹配所有内容直到换行符(包括):
$configFileContents = preg_replace('/define\(\'APP_FTP_USER.*\R/', '', $configFileContents);
我发现您要删除APP_FTP_HOST
和APP_FTP_USER
定义,因此这应该有效:
$configFileContents = file_get_contents('config.php');
$configFileContents = preg_replace('/define\(\'APP_FTP_HOST.*\R/', '', $file);
$configFileContents = preg_replace('/define\(\'APP_FTP_USER.*\R/', '', $file);
file_put_contents('config.php', $configFileContents);