这是我的代码:
$file = '/etc/apache2/sites-available/000-default.conf';
// Laravel Projects
$newDirectory = "<Directory $path/public>
Allow Override all
Require all granted
</Directory>";
$virtualHost = file_put_contents($file,str_replace("</VirtualHost>","$newDirectory\n\n</VirtualHost>",file_get_contents($file)));
它也可以。如您所见,它将打开000-default.conf
文件(在Linux中),并在<VirtualHost>
块末尾附加一个新目录。
我的问题是,有时其余代码会引发错误,并且当我再次运行整个脚本时,以上代码会将该目录追加两次。
如何在file_put_contents
首先检查是否存在相同目录的情况下添加条件,然后附加该目录,否则不执行任何操作?
您需要像下面这样:
<?php
$file = '/etc/apache2/sites-available/000-default.conf';
// Laravel Projects
$newDirectory = "<Directory $path/public>
Allow Override all
Require all granted
</Directory>";
$virtualHostContent = file_get_contents($file);
if( strpos($virtualHostContent,"<Directory $path/public>") === false) {
$virtualHost = file_put_contents($file,str_replace("</VirtualHost>","$newDirectory\n\n</VirtualHost>",$virtualHostContent));
}
?>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句