将PHP文件写入另一个目录中的另一个文件,其中不同的值依赖于变量

时间:2013-01-20 14:57:04

标签: php cron

我对PHP很新,所以如果这是一个愚蠢的问题,我很抱歉。

我正在尝试创建一些东西来将PHP文件写入另一个目录中的另一个文件。这个想法是所有生成的目录都必须包含一个通过cron运行的文件,但是我不能简单地复制该文件,因为文件的一部分依赖于创建目录时存在的变量,但是不是总是会在那里。

这与将以下内容写入文件的情况相同(显然这是一个示例):

<?php
    $test = mysql_query("SELECT * FROM table WHEN memberID='$groupID'");
?>

如何从执行编写新PHP文件的$groupID函数的文件中获取变量fopen('','w')?任何人都可以举例说明将上述内容写入文件吗?

提前致谢!

编辑:我接受了原始问题的答案,但@MichaelBerkowski的答案是一个有效的替代方案。

2 个答案:

答案 0 :(得分:1)

不确定我是否正确理解你想做什么,但如果我做了:

<?php
$groupId = 343; // Define your Id here
$string = "<?php
    $test = mysql_query(\"SELECT * FROM table WHEN memberID='".$groupId."'\");?>";
$file = fopen("yournewfile.php","w");
fwrite($file,$string);
fclose($file);
?>

这会将您提供的内容(PHP文件)写入文件“yournewfile.php”

答案 1 :(得分:1)

我打算提出另一种解决方案。而不是生成由每个目录中的cron执行的PHP文件,也许更好的解决方案是创建一个 PHP脚本,该脚本由cron运行并下降到每个动态目录中并在那里执行必要的任务

如果您的所有目录都在一个地方或一个级别,那么它可能就像使用glob('dirs/*', GLOB_ONLYDIR)进行迭代来定位它们一样简单。如果目录结构更复杂,则可能需要递归下降。

但是,如果您的目录成员资格在数据库中关联,那么实际上只需从数据库中选择所有目录及其关联成员,并检查其中包含的filectime()个文件以进行通知