2016-04-17 15 views

答えて

2

それはあなたの構造に少し依存しますが、最も簡単な方法は、あなたがログインしているかどうか最初に確認するファイル内の新しいスクリプト、例えばdeletefile.phpにファイル名を送信することです。ファイルが存在するかどうかを確認してそのファイルの。

if(is_file($pathtofile."/".$filename)) { 
    unlink($pathtofile."/".$filename); 
} 

アプリケーションにセキュリティホールがないことを確認してください。いくつかの問題を回避するには、ファイルへの完全なパスを使用する必要があります。

+2

でファイルを削除するスクリプトのファイル名を掲示する必要があります削除されているユーザーがアップロードしたので、ユーザーは他のユーザーのファイルを削除できません – Jeff

1

あなたは

if($_POST['action'] == 'call_this') { 
    $listEntry = 'file_path' 
    unlink($listEntry); 
    } 
ajax.php AJAX

<a href='myAjax()' class='Tooltip' title='Click to Remove $listEntry' target='_blank'> 

function myAjax() { 
     $.ajax({ 
      type: "POST", 
      url: 'ajax.php', 
      data:{action:'call_this'}, 
      success:function(html) { 
      alert(html); 
      } 

     }); 
} 

を使用することができますPHP関数onclickをプリフォームするあなたはunlink()とPHPの機能を削除し、プリフォームしたいファイルのパスを定義する必要があります

1

ファイルを削除するには、2つのことを行う必要があります。

  1. (保存されている場合)データベースからファイル参照を削除します。

  2. ディスクから実際のファイルを削除します。これらのアクションのための

サンプル機能:

<?php 
     public function deleteFromDb() { 
      global $database; 
      $sql = "DELETE FROM <$table_name> WHERE id = <ID> LIMIT 1"; 
      $database->query($sql); 
      return ($database->affected_rows() == 1) ? true : false; 
     } 

     public function destroyFile() { 
     // Remove the database entry 
      if($this->deleteFromDb()) { 
       // Remove the file 
       $target_path = <PATH_TO_FILE_TO_DELETE>; 
       return unlink($target_path) ? true : false; 
      } else { 
       // Failed to delete from db 
       return false; 
      } 
     } 
    ?> 
関連する問題