Ben okudum ve javascript, jQuery ve php ile bir linux metin dosyasına yazmak için bir (doğru) bir yol arıyorum. Özellikle, jQuery ile bir (# taFile) ($ ("# taFile"). Val () ;) $ ve değerini almak istiyorum. Sırayla bir metin yayınlanmıştır değerini yazar bir php komut dosyası, onu gönderebilir dosya.
Benim kod çoğunlukla çalışır iken, ben bir budak haline çalıştırmak:. Ilanıyla textarea ve $ değeri çekerken, tüm özel karakterler kaybolur. Özellikle, 1) tüm özel karakterleri 2) yeni hatlar bir alana dönüştürülür ve 3) bazı özel karakterler sonra tüm karakterler (Ben bir # ile ne fark ettik) kaybolur, kaybolur.
Bunlar ancak ben herhangi bir gelişme ve önerileri çok açık değilim hala senaryonun kaba taslaklar!
Javascript:
$(document).ready(function() { $("input:button").button(); $("#tabs").tabs(); $("#tabs").tabs({ select: function(event, ui) { // When a tab is selected file = ui.panel.id; console.log("js: file: "+file); if (file == "items" || file == "groups" || file == "whitelist" || file == "users"){ // if file is valid $("#taFile").remove(); // Remove any old textareas $("#"+file).html(''); // Add a new textarea $.post("/php/getFile.php?action=read&file="+file, function(data){ // Post with the current file $("#taFile").val(data); // Put file into textarea }); } } }); $("#btnSubmit").click(function() { var newcfg = $("#taFile").val(); alert(newcfg); // This shows that newcfg preserves the exact value of the textarea console.log(newcfg); // As does this. $.post("/php/getFile.php?action=write&file="+file+"&newcfg="+newcfg); // This shows new lines (\n ?) as " " (a space) and removes all special characters (! , # ; : etc) }); });
PHP:
$file = $_REQUEST['file']; $newcfg = $_REQUEST['newcfg']; $action = $_REQUEST['action']; $user = 'public'; $config = "/home/$user/mc/$file.txt"; if ($action == "read"){ $oldcfg = file_get_contents($config); echo $oldcfg; } else if ($action == "write") { #if writing $fh = fopen($config, 'w') or die("Cant write to file"); #open file fwrite($fh, $newcfg); #write file fclose($fh); #close file }
Onlar gerçek PHP kodu göstermek değil neden ben php etiketlerini kaldırmak zorunda kaldı. Değil yazısının bazı sekmeleri değiştirirken, ilk dosya okuma için olduğunu. Hepsi gayet iyi çalışıyor.
Teşekkürler!