-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);
       }
        }
        }
       ?>

error: Call to undefined function copydir() 这是我的代码...它在 第 14 行显示致命C:\xampp\htdocs\mywork\creating-folder\1.php。但是当我从单独的文件中复制 copydir("test",$get_folder);到 它时closedir($dir_handle);,它工作得很好,但是 $get_folder 需要给出一些静态名称

4

3 回答 3

2

使用复制()

请注意,此功能确实支持开箱即用的目录。来自链接文档页面上的评论之一的功能可能会有所帮助:

<?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 回答
0

这有效:

foo();

function foo() { ... }

这不会:

if (...) {

    foo();

    function foo() { ... }

}

这将:

if (...) {

    function foo() { ... }


    foo();

}

通常,您需要在调用该函数之前对其进行声明。例外情况是第一个示例中的普通的全局定义函数;这些正在执行前的解析步骤中正确处理。由于您的函数声明在语句中,因此是有条件的,因此需要首先评估条件以及整个代码。在评估代码时,您正在尝试调用尚未声明的函数。ifif

于 2013-05-27T07:34:44.000 回答