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会自动删除上载的临时文件