-1
       <?php
         extract($_REQUEST);
        if(isset($_POST['submit']))
         {
          $get_folder = $_POST['url'];
       $q = mysql_query("insert into test (url) values ('$url')");
        if($q)
        {
        copydir("test",$get_folder);
      function copydir($source,$destination)
       { 
       if(!is_dir($destination))
       {
       $oldumask = umask(0); 
      mkdir($destination, 01777); 
      umask($oldumask);
       }
      $dir_handle = @opendir($source) or die("Unable to open");
     while ($file = readdir($dir_handle)) 
      {
        if($file!="." && $file!=".." && !is_dir("$source/$file")) //if it is file
      copy("$source/$file","$destination/$file");
      if($file!="." && $file!=".." && is_dir("$source/$file")) //if it is folder
      copydir("$source/$file","$destination/$file");
      }
      closedir($dir_handle);
       }
        }
        }
       ?>

これは私のコードです... 14行目に Fatalerror: Call to undefined function copydir() が 表示されます。しかし、別のファイルにコピーする と完全に機能しますが、$get_folderの代わりに静的な名前を付ける必要がありますC:\xampp\htdocs\mywork\creating-folder\1.phpcopydir("test",$get_folder);closedir($dir_handle);

4

3 に答える 3

2

copy()を使用します。

この関数はデフォルトでディレクトリをサポートしていることに注意してください。リンクされたドキュメント ページのコメントの 1 つからの関数が役立つ場合があります。

<?php 
function recurse_copy($src,$dst) { 
    $dir = opendir($src); 
    @mkdir($dst); 
    while(false !== ( $file = readdir($dir)) ) { 
        if (( $file != '.' ) && ( $file != '..' )) { 
            if ( is_dir($src . '/' . $file) ) { 
                recurse_copy($src . '/' . $file,$dst . '/' . $file); 
            } 
            else { 
                copy($src . '/' . $file,$dst . '/' . $file); 
            } 
        } 
    } 
    closedir($dir); 
} 
?>
于 2013-05-27T07:30:31.707 に答える
0
  // Will copy foo/test.php to bar/test.php
  // overwritting it if necessary
  copy('foo/test.php', 'bar/test.php');
于 2013-05-27T07:32:31.763 に答える