用PHP从网站和服务器中删除文件



我正在尝试制作一个私有云存储 - 娱乐

我有一个带有所有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);

相关内容

  • 没有找到相关文章