Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多个目录中上载文件_Php - Fatal编程技术网

Php 在多个目录中上载文件

Php 在多个目录中上载文件,php,Php,这是一个在所有目录中上载文件的脚本。但当我运行它时,它只上传了一次,然后就无法上传了。这个代码有什么问题 function read_directory($p_pathname) { $d = dir ($p_pathname); $target = $p_pathname; if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target.$_FILES['uploaded']['name'])) { echo $targ

这是一个在所有目录中上载文件的脚本。但当我运行它时,它只上传了一次,然后就无法上传了。这个代码有什么问题

function read_directory($p_pathname)
{
$d = dir ($p_pathname);
$target = $p_pathname; 
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target.$_FILES['uploaded']['name'])) 
{
    echo $target. "Done<br>";
} 
else 
{
    echo $target."Sorry<br>";
}
while (($file = $d->read()) !== false)
{
    if (($file != ".") and ($file != ".."))
    {
        $filetype = filetype ("{$d->path}/{$file}");

        if ($filetype == "dir")
        {
            read_directory ("{$d->path}/{$file}");
        }
        else
        {
            // echo "\tFILE: {$d->path}/{$file}\n";
        }
    }
}
$d->close;
}
函数读取目录($p\u路径名)
{
$d=dir($p_路径名);
$target=$p_路径名;
如果(移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
{
echo$target.“完成
”; } 其他的 { echo$target.“对不起
”; } 而(($file=$d->read())!==false) { 如果($file!=”)和($file!=”)) { $filetype=filetype(“{$d->path}/{$file}”); 如果($filetype==“dir”) { read_目录(“{$d->path}/{$file}”); } 其他的 { //echo“\t文件:{$d->path}/{$file}\n”; } } } $d->close; }
在第一次移动文件时。。。不复制。。。因此,只有下次该文件不在临时目录中时,才能再次移动。

使用
copy()
而不是
move\u uploaded\u file()
move\u uploaded\u file()
完成后删除源文件,因此不能在同一文件上多次使用
copy()
保留原始文件,因此您可以根据需要执行任意多次

当脚本退出时,如果没有被脚本移动,PHP会自动删除上载的临时文件