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!