2016-04-14 33 views
0

Sitede yapılan tüm eylemler için bir .txt dosyasında depolanabilecek bazı günlükler yapıyorum.

normal yük yaparken iyi çalışıyor benim php kodu, ama ajax kullandığınızda i fopen, php üzerinde fpost yöntemi okumuyor gibi görünüyor ..

kodumu kontrol ediniz.

Bu

function action_log($msg) { 
    $current_user = wp_get_current_user(); 
    $path = "wp-content/themes/creation/templates/inc/log.txt"; 
    $myfile = (file_exists($path)) ? fopen($path, "a+") : fopen($path, "w+"); 
    $txt = $msg.$current_user->display_name."\n"; 

    if ($myfile) { 
     fwrite($myfile, $txt); 
     fclose($myfile); 
     chmod($path, 0777); 
     $result = $txt; 
     return $result; 
    } else { 
     $result = $myfile; 
     return $txt; 
    } 
} 

add_action('wp_ajax_action-log-ajax', 'action_log_ajax'); 
add_action('wp_ajax_nopriv_action-log-ajax', 'action_log_ajax'); 
function action_log_ajax(){ 

    $post = $_REQUEST; 
    $msg = $post['msg']; 
    $write = action_log($msg); 

    exit(wp_send_json_success($write)); 
} 

Benim jquery eklentisi .post fonksiyon

$.send_log_changes = function($msg) { 

    var msgs = $msg; 
    var action = 'action-log-ajax'; 
    console.log(msgs); 

    $.post({ 
     url: plugins_ajax.ajaxUrl, 
     method: 'POST', 
     data: { 
     action: action, 
     msg: msgs 
     }, 
     dataType: 'json', 
     success: function(respones) { 
     console.log(respones); 
     } 

    }); 
} 

Ben .ajax kullanarak çalıştı, .get ve hala aynı hata benim fonksiyonu ve ajax işleyicisi olduğunu. her zaman False numarasına dönün ve dosyada yazma/açma yapamazsınız.

cevap

0

Dosya açık işlemi yanlış döndürüyor gibi görünüyor. $ Yol değişkeni tam yolunu girmeyi denediniz mi, yani /var/www/html/demo/wp-content/themes/creation/templates/inc/log.txt "etc ,.

+0

Yolda sorun yok. site tam olarak yüklendiğinde yol çalışıyor, ama ajax ile çalışmıyor .. ve aynı zamanda tam yol ve aynı sonucu denedim .. yine de iyi bir çözüm aramaya cevap için teşekkürler. –