2012-03-19 10 views
4

複数のファイルをアップロードするためにjqueryプラグインを使用しています。イメージを削除する以外はすべて正常に動作しています。 Firebugは、JSが機能にDELETEリクエストを送信していると言っています。削除要求からデータを取得するにはどうすればよいですか?PHPがDELETEリクエストからデータを取得する

public function deleteImage() { 
    //Get the name in the url 
     $file = $this->uri->segment(3); 
    $r = $this->session->userdata('id_user'); 
    $q=$this->caffe_model->caffe_get_one_user($r); 
     $cff_name= $q->name; 
    $cff_id = $q->id_caffe;  

    $w = $this->gallery_model->gallery_get_one_user($gll_id); 
    $gll_name = $w->name; 
     $success = unlink("./public/img/caffe/$cff_name/$gll_name/" . $file); 
     $success_th = unlink("./public/img/caffe/$cff_name/$gll_name/thumbnails/" . $file); 

     //info to see if it is doing what it is supposed to 
     $info = new stdClass(); 
     $info->sucess = $success; 
     $info->path = $this->getPath_url_img_upload_folder() . $file; 
     $info->file = is_file($this->getPath_img_upload_folder() . $file); 
     if (IS_AJAX) {//I don't think it matters if this is set but good for error checking in the console/firebug 
      echo json_encode(array($info)); 
     } else {  //here you will need to decide what you want to show for a successful delete 
      var_dump($file); 
     } 
    } 

とJSはjQueryの - ファイルアップロードプラグインを使用している:link

+0

いくつかのコードを表示する必要があります。 – Jivings

答えて

9

一般的に、DELETE要求がリクエストボディにデータを送信する場合、あなたがして、データを読み取ることができ

PHPコードを削除しますもしjson_decodeまたはを使用し、データの符号化(通常はJSONまたはフォームエンコード)に応じ

$data = file_get_contents("php://input"); 

:次のコードを使用してを使用してデータを使用可能な変数に読み込みます。

簡単な例として、this articleを参照してください。ここでは、フォームエンコードされたデータを使用してPUTリクエストを処理します。 DELETEも同様です。ファイル名が要求URL($this->uri->segment(3);の呼び出し)から読み込まれるようなあなたの場合には


は、しかし、それが見えます。あなたのコードを見ると、変数$gll_idは初期化されておらず、結果オブジェクト$wと変数$gll_nameが空であるかどうかをチェックしていないようです。これにより、削除が失敗する可能性があります。 ini_set("log_errors",1);でエラーログをオンにして、サーバーエラーログを確認してください。アンリンクが失敗した場合、エラーログにPHPがリンク解除しようとしたパスが含まれているはずです。パスが正しくない可能性があります。

+0

私は失われた(私はこれで働いたことがない)。個々の入力からデータを取得するにはどうすればよいですか? – Sasha

+0

これは、file_get_contents( "php:// input")がenctype = "multipart/form-data" o.O – Sasha

+0

@Sashaで動作していないことを示しています。 – chiborg

関連する問題