因此,在您的幫助下,我已經能夠組裝下面。移動文件到目錄
$dir = "./reporting/live-metrics/";
$des = "./reporting/historic-metrics/";
$ctime = time();
foreach (glob($dir."*") as $file) {
$live = file_get_contents($file);
if (strpos($live, 'CORO') === false && filemtime($file) < time() - 1 * 10) {
$exclude[] = $live;
$lines = file($file , FILE_IGNORE_NEW_LINES);
$lines[3] = 'Taken Down';
$lines[5] = $ctime;
file_put_contents($file , implode("\n", $lines));
if (!file_exists($des.basename($file).PHP_EOL)) {
mkdir($des.basename($file), 0777, true);
}
rename($file,$des.$ctime);
}
}
我的問題是,我試圖將文件移動到創建的新目錄,但我有一個小問題。無論我做什麼,只能讓它移動到$ des,我似乎無法將ti移動到爲每個特定文件創建的動態目錄。我假設它與我不使用重命名到正確參數的事實有關。下面是我試圖讓它重命名和移動的一些組合。
rename($file,$des.basename($file).PHP_EOL.$ctime); //doesn't move or rename
rename($file,$des.basename($file).$ctime); //adds to historic-metrics/ as jason1465519298
我也試過創建一個函數並設置重命名來調用它。例如。
$path = $des.basename($file).PHP_EOL;
rename($file,$path.$ctime);
目前該腳本是偉大的,直到移動文件。它會將它移動到./reporting/historic-metrics/,但我希望它移動到剛創建的目錄。 EG,如果它是目前HANDELING文件名爲「傑森」,那麼它會創建./reporting/historic-metrics/Jason而是將文件移動到./reporting/historic-metrics/
編輯:源文件是罰款。它會將文件移動到以下目的地./reporting/historic-metrics/。我使用mkdir在這個例如./reporting/historic-metrics/Jason中創建一個文件夾,它基於它正在處理的文件。我正試圖將文件移動到目標中的這個Jason文件夾中。我遇到的問題是$ des內的目標文件夾是動態的,並且基於它正在處理的文件進行更改。 –
還有權限和所有權嗎? –
用圖像更新原圖,希望有更好的解釋。 –