这是a thread I came across here的后续问题。
用户可以将图片上传到我的网站,并将其保存在“上传”文件夹中。该网站上的另一个页面有一个照片库,可以从“已批准”的文件夹中提取照片。如何在文件名后面包含一个重命名或删除每个文件的链接(或复选框)?即:
<?php
function listFolderFiles($dir){
$ffs = scandir($dir);
echo '<ol>';
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="title">';
if(is_dir($dir.'/'.$ff)){
echo $ff;
listFolderFiles($dir.'/'.$ff);
}else{
echo '<a href="'.$dir.'/'.$ff.'">'.$ff.'</a>'.
'...<a href="rename.file">Keep</a> -
<a href="delete.file">Delete</a>';
}
echo '</li>';
}
}
echo '</ol>';
}
listFolderFiles('uploaded_files');
?>
答案 0 :(得分:2)
<?php
function listFolderFiles($dir){
$ffs = scandir($dir);
echo '<ol>';
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
echo '<li class="title">';
if(is_dir($dir.'/'.$ff)){
echo $ff;
listFolderFiles($dir.'/'.$ff);
}else{
echo '<a href="delete.php?file='.$dir.'/'.$ff.'">'.$ff.'</a>';
echo '<a href="rename.php?file='.$dir.'/'.$ff.'">'.$ff.'</a>';
}
echo '</li>';
}
}
echo '</ol>';
}
listFolderFiles('uploaded_files');
?>
在 delete.php 中,取File Argument $ _GET ['file'];
<?php
$file = "root/".$_GET['file'];
unlink($file);
location('back to the page');
?>
在 rename.php 中获取新名称和
<?php
$file = "root/".$_GET['file'];
rename($file,"New file name");
location('back to the page');
?>
现在有两种方法可以实现,在主页面或rename.php中使用ajax将新文件名作为输入并进行重命名。