2013-01-20 39 views
1

我對PHP相當陌生,所以如果這是一個愚蠢的問題,我很抱歉。將PHP文件寫入另一個目錄中的另一個文件,其值依賴於變量

我想創建一些東西來寫一個PHP文件到另一個目錄中的另一個文件。這個想法是,所有生成的目錄必須包含一個通過cron運行的文件,但是我不能簡單地複製該文件,因爲該文件的一部分依賴於目錄創建時存在的變量,但isn'總是會在那裏。

這將是相同的情況寫下面的一個文件(顯然這是一個例子):

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

我該如何獲得變量$groupID從文件執行fopen('','w')功能,是寫作新的PHP文件?任何人都可以舉一個例子,將上面的代碼寫入一個文件中?

在此先感謝!

編輯:我已經接受了原始問題的答案,但@MichaelBerkowski的答案是一個有效的替代方案。如果

+0

你能更好地解釋一下cron腳本會採取什麼樣的行動嗎?這些目錄除了PHP之外還有什麼?編寫要執行的PHP文件對於幾乎任何問題都是錯誤的解決方案。處理這個問題可能有一種更簡單的方法,這種方法被忽略了。 –

+0

這是一個文件,通知人們在過去的X小時內將新文件添加到該目錄中 – whitfin

+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」

內容
+0

這是有點我想要的,除了我希望'$ groupID'被該文件中定義的'$ groupID'的值替換。假設您的示例在開始時有一個變量'$ groupID',每次文件運行時定義的變量都是不同的,我如何才能將該值放入字符串中? – whitfin

+0

@ Zackehh9lives我更新了我的答案,以反映你的要求。 – mpaepper

1

我打算提出一個備用解決方案。而不是生成每個目錄中由cron執行的PHP文件,或許更好的解決方案是創建一個一個 PHP腳本,該腳本由cron運行並進入每個動態目錄並在那裏執行必要的任務。

如果您的所有目錄都在一個地方或一個層次上,那麼它可能就像使用glob('dirs/*', GLOB_ONLYDIR)迭代以找到它們一樣簡單。如果目錄結構更復雜,則可能需要遞歸下降。

但是,如果您的目錄成員資格與您的數據庫相關聯,那麼確實只是從數據庫中選擇與其關聯成員的所有目錄並檢查其中包含的文件的filectime()以執行通知。

+0

感謝您的建議:) – whitfin

相關問題