如何从数据库中删除数组中的文件,并从目录中单击按钮。我有这段代码,删除了该文件夹中的所有文件,但仍然显示文件名。我希望删除特定的文件从目录文件夹和数组在数据库上的按钮单击。
echo '<ul>';
foreach (explode(',', $msg_rows['msg_files']) as $file){
echo '<li><a href="../files/wcfiles/'.$msg_rows['msg_order_id'].'/'.$file.'">'.$file.'</a> 
<a class="btn btn-danger btn-xs" href="../files/wcfiles/'.$msg_rows['msg_order_id'].'/'.unlink($file).'">Delete</a></li>';}
echo '</ul>';
要删除通过处理$msg_rows['files']
获得的所有文件,您可以这样做:
$files=explode(',', $msg_rows['files'] );
foreach ( $files as $file ) @unlink($file);
如果您试图生成一个带有链接的文件列表,当单击该链接时,将删除稍微涉及的文件-最有可能使用ajax。
$files=explode(',', $msg_rows['files'] );
echo '<ul>';
foreach ( $files as $file ) echo "<li>$file<a href='#' onclick='deletefile('"{$file}'")'>delete</a></li>";
echo '</ul>';
您将需要有一个javascript函数deletefile
,它将必要的信息发送给删除文件的脚本。这是一个非常基本的例子(将文件名作为参数嵌入)
/* javascript */
function deletefile(filename){
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if( xhr.readyState==4 && xhr.status==200 ) {
alert( xhr.response );
}
}
xhr.open( "POST", "/deletefile.php", true )
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("file="+filename+'action='delete');
}