2014-09-11 144 views
-3

基本上,我的要求是,我想使用PHP腳本將所有文件從一個文件夾移動到另一個文件夾。任何人都可以幫助我。我想這一點,但我得到的錯誤使用PHP腳本將所有文件從一個文件夾複製到另一個文件夾?

$mydir = dirname(__FILE__)."/html/images/"; 
    if(!is_dir($mydir)){ 
     mkdir("html/images"); 
    } 
    // Move all images files 
    $files = glob("images/*."); 
    foreach($files as $file){ 
    $file_to_go = str_replace("images/","html/images/",$file); 
     copy($file, $file_to_go); 
    } 
+0

謝謝我得到了我的問題 – 2014-09-11 07:14:21

回答

4
// images folder creation using php 
    $mydir = dirname(__FILE__)."/html/images"; 
    if(!is_dir($mydir)){ 
    mkdir("html/images"); 
    } 
    // Move all images files 
    $files = glob("images/*.*"); 
    foreach($files as $file){ 
    $file_to_go = str_replace("images/","html/images/",$file); 
     copy($file, $file_to_go); 
    } 
+0

謝謝Pramod的答案.. – 2014-09-11 06:02:03

0

這應該只是罰款:

// Get array of all source files 
$files = scandir("source"); 
// Identify directories 
$source = "source/"; 
$destination = "destination/"; 
// Cycle through all source files 
foreach ($files as $file) { 
    if (in_array($file, array(".",".."))) continue; 
    // If we copied this successfully, mark it for deletion 
    if (copy($source.$file, $destination.$file)) 
    { 
     $delete[] = $source.$file; 
    } 
} 
// Delete all successfully-copied files 
foreach ($delete as $file) 
{ 
    unlink($file); 
} 

或重命名()和一些錯誤檢查:

$srcDir = 'dir1'; 
$destDir = 'dir2'; 

if (file_exists($destDir)){ 
    if (is_dir($destDir)) { 
    if (is_writable($destDir)) { 
     if ($handle = opendir($srcDir)) { 
     while (false !== ($file = readdir($handle))) { 
      if (is_file($srcDir . '/' . $file)) { 
      rename($srcDir . '/' . $file, $destDir . '/' . $file); 
      } 
     } 
     closedir($handle); 
     } else { 
     echo "$srcDir could not be opened.\n"; 
     } 
    } else { 
     echo "$destDir is not writable!\n"; 
    } 
    } else { 
    echo "$destDir is not a directory!\n"; 
    } 
} else { 
    echo "$destDir does not exist\n"; 
} 
3

試試這個:

<?php 

    $src = 'pictures'; 
    $dst = 'dest'; 
    $files = glob("pictures/*.*"); 
    foreach($files as $file){ 
     $file_to_go = str_replace($src,$dst,$file); 
     copy($file, $file_to_go); 
    } 
?> 
2
foreach(glob('old_directory/*.*') as $file) { 
    copy('old_directory/'.$file, 'new_directory/'.$file); 
} 
0

您可以使用此遞歸函數。

<?php 
    function copy_directory($source,$destination) { 
     $directory = opendir($source); 
     @mkdir($destination); 
     while(false !== ($file = readdir($directory))) { 
      if (($file != '.') && ($file != '..')) { 
       if (is_dir($source . '/' . $file)) { 
        copy_directory($source . '/' . $file,$destination . '/' . $file); 
       } 
       else { 
        copy($source . '/' . $file,$destination . '/' . $file); 
       } 
      } 
     } 
     closedir($directory); 
    } 
?> 

參考:http://php.net/manual/en/function.copy.php

1

使用array_map:

// images folder creation using php 
function copyFile($file) { 
    $file_to_go = str_replace("images/","html/images/",$file); 
    copy($file, $file_to_go); 
} 
$mydir = dirname(__FILE__)."/html/images"; 
if(!is_dir($mydir)){ 
    mkdir("html/images"); 
} 

// Move all images files 
$files = glob("images/*.*"); 
print_r(array_map("copyFile",$files)); 
1

對我來說這一個工程...........
由於這名男子
http://www.codingforums.com/php/146554-copy-one-folder-into-another-folder-using-php.html

<?php 
    copydir("admin","filescreate"); 
    echo "done"; 

    function copydir($source,$destination) 
    { 
    if(!is_dir($destination)){ 
    $oldumask = umask(0); 
    mkdir($destination, 01777); // so you get the sticky bit set 
    umask($oldumask); 
    } 
    $dir_handle = @opendir($source) or die("Unable to open"); 
    while ($file = readdir($dir_handle)) 
    { 
    if($file!="." && $file!=".." && !is_dir("$source/$file")) 
    copy("$source/$file","$destination/$file"); 
    } 
    closedir($dir_handle); 
    } 
    ?> 
相關問題