我正在尝试制作一个私有云存储 - 娱乐
我有一个带有所有CSS JS的PHP文件,带有FUCTIOL MYFILE,该文件以全名(example.xxx)image(.xxx)(.xxx)生成link link do下载文件。我想添加一个删除按钮,该按钮将在文件夹>上传中为服务器上的每个文件生成自动生成。
现在我有两个问题 - 如何为每个文件制作一个变量,例如$ a1 = example.xxx,$ a2 $ a3 ...
- 并以某种方式将$ a1添加到按钮中,而不是将其返回deleteit.php,以便它可以运行UNLINK($ a1)
function myFiles(){
$dir_path = "uploads";
if (is_dir($dir_path)) {
if ($dh = opendir($dir_path)) {
while (($file = readdir($dh)) !== false) {
$target_file = $file . basename($FILES["codeName"]["name"]);
$file_type = pathinfo($target_file,PATHINFO_EXTENSION);
if($file != '.' && $file != '..' && $file != 'index.html' && $file_type != 'jpg' && $file_type != 'jpeg' && $file_type != 'gif' && $file_type != 'mp3' && $file_type != 'mp4' && $file_type != 'png'){
$element = "<div class='entery-content' style='width:120px; min-height:130px;max-height:160px;float:left;margin-right:30px;padding-bottom:55px;'>
<figure>
<a href='/application/views/uploads/$file' download><img src='/images/$file_type.png' class='icon'></a>
<figcaption style='text-align:center'>$file</figcaption>
</figure>
</div>";
echo $element;
}
}
closedir($dh);
}
}
}
我必须添加一个按钮才能删除它(在图像下),但就像我说的那样,我迷路了。我有一些PHP的知识,但没有很多,我对我会得到的所有帮助表示感谢。
以下是完全未经测试的,但可能会想到您如何进行 - 但是我刚刚看过您的最后一个评论,但无论如何我都会发表。
function myFiles(){
$dir_path = "uploads";
if( is_dir( $dir_path ) ) {
if ( $dh = opendir( $dir_path ) ) {
while( ( $file = readdir( $dh ) ) !== false ) {
$target_file = $file . basename($FILES["codeName"]["name"]);
$file_type = pathinfo($target_file,PATHINFO_EXTENSION);
if($file != '.' && $file != '..' && $file != 'index.html' && $file_type != 'jpg' && $file_type != 'jpeg' && $file_type != 'gif' && $file_type != 'mp3' && $file_type != 'mp4' && $file_type != 'png'){
$element = "
<div class='entery-content' style='width:120px; min-height:130px; max-height:160px; float:left; margin-right:30px; padding-bottom:55px;'>
<figure>
<a href='/application/views/uploads/$file' download>
<img src='/images/$file_type.png' class='icon'>
</a>
<input type='button' value='Delete' />
<figcaption style='text-align:center'>$file</figcaption>
</figure>
</div>";
echo $element;
}
}
closedir($dh);
}
}
}
<script>
var url='delete.php';
var col=Array.prototype.slice.call( document.querySelectorAll('figure > a > input[type="button"]') );
col.forEach( function( bttn ){
bttn.onlick=function(e){
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if( xhr.readyState==4 && xhr.status==200 )alert( xhr.response );
};
xhr.open( 'POST', url, true );
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send( 'file='+this.querySelector('a > img').src );
}.bind( bttn.parentNode );
});
</script>
我已经为文件夹上传中的每个元素创建一个新文件做到了这一点。那是在
中 wher loop (($file = readdir($dh)) !== false)
它不是最好的解决方案,也是最优化的解决方案,但现在可以使用(升级),并且仅是PHP
$myfile = fopen('./delete/'.$name_file . ".php", "w") or die("Unable to open file!");
$txt = "<?php function destruct()
{
unlink('$name_file.php');
unlink('../uploads/$file');
}
destruct(); header('Location:https://*************************************');
exit;?>";
fwrite($myfile, $txt);
fclose($myfile);