1

我想将文件从一个目录移动到另一个目录。但是,诀窍是,我想移动带有完整路径的文件。

说我有文件

/my/current/directory/file.jpg

我想把它移到

/newfolder/my/current/directory/file.jpg

如您所见,我想保留相对路径,以便将来/my/current/directory/如果需要,我可以将其移回。还有一件事是/newfolder空的-我可以复制其中的任何内容,因此没有预制结构(可以将另一个文件复制到/newfolder/my/another/folder/anotherfile.gif. 理想情况下,我希望能够创建一个方法,当我通过原始文件的路径。目的地总是相同的 -/newfolder/...

4

2 回答 2

0

你可以简单地使用以下

<?php 
$output = `mv "/my/current/directory/file.jpg" "/newfolder/my/current/directory/file.jpg"`; 
if ($output == 0) { 
   echo "success"; 
} else { 
   echo "fail"; 
} 
?>

请注意我使用反引号`来执行而不是使用像 exec 这样的函数

于 2012-09-09T07:23:56.977 回答
0

如果你在 unix/linux 环境中,你可以尝试这样的事情:

$original_file = '/my/current/directory/file.jpg';
$new_file = "/newfolder{$original_file}";

// create new diretory stricture (note the "-p" option of mkdir)
$new_dir = dirname($new_file);
if (!is_dir($new_dir)) {
    $command = 'mkdir -p ' . escapeshellarg($new_dir);
    exec($command);
}

echo rename($original_file, $new_file) ? 'success' : 'failed';
于 2012-09-09T07:41:16.883 回答