$_POST size limit
TestAccount
- php
0 TestAccount0 LOTO0 Tom0 TestAccount
Scheinbar ist mein Post ja leider verschwunden; also, hier die JS und PHP nochmal
Hi LOTO,
also wie gewünscht das definitive JS:
jQuery.ajax({
type: "POST",
url: "myFunctions.php?action=saveFile",
data: "data=" + $('#myTextArea').html(),
success: function(response){
alert(response);
}
});
und noch die PHP:
<?php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
error_reporting(E_ALL);
if($_GET['action'] == 'saveFile'){saveFile($dir);}
function saveFile($dir){
if(!$handle = fopen('/srv/myDir/myFile.txt', "w+")){
print "Can't open file";
exit;
}
if(!fwrite($handle, $_POST['data'])){
print "Can't open file";
exit;
}
fclose($handle);
}
?>
Es hat also keiner einen Lösungsansatz?
Danke im Voraus
Tach,
Es hat also keiner einen Lösungsansatz?
zu welchem Problem?
mfg
Woodfighter
Das POSTING ist leider verschwunden.
Also wie zu sehen ist, sende ich den Inhalt einer textarea also POST an eine php, die das ganze in eine txt datei speichern soll; so weit so gut. das funktioniert auch einwandfrei, so lange die variable "data" nicht länger als eine din A4 seite ist.
Andernfalls wird lediglich ein Teil in die txt geschrieben; der rest geht verlohren.
Ich habe bereits die max_post_size auf 1000M gesetzt und das script_memory limit in der phpini angehoben. außerdem habe ich suhosin.simulator auf on gestzt, damit der mir nicht dazwischen funkt; zudem noch per SecFilterScanPOST auf off.
Ich versteh nicht an was es noch liegen könnte.
Habt ihr evtl ne idee?
Vielen Dank im Voraus und viele grüße
Lieber TestAccount,
kannst Du das Verhalten in verschiedenen Browsern bestätigen?
Liebe Grüße,
Felix Riesterer.
Hi Felix,
Ja, leider schon; hab es in safari, chrome, ff und ie getestet; überall leider gleich.
Lg
Moin
"Du hast in Deiner phpinfo eine Section "varfilter" mit dem setting varfilter.max_value_length der auf 1000 steht. Erhöhe den mal, denn das ist das einzige was mir einfällt/auffällt. Ich habe diese Vals garnicht und ich kann unbegrenzt lange strings nehmen (also dein example test ca. 20 mal einfach mal so probiert)."
Quelle : Google hilft manchmal weiter!!!!
Gruß Bobby
Hallo,
schaut im Grunde nicht schlecht aus. Hast du es mal ohne Ajax probiert?
LOTO
Hello,
Scheinbar ist mein Post ja leider verschwunden; also, hier die JS und PHP nochmal
Und könntest Du bitte auch erklären, was das JavaScript machen soll?
Da ich jQuery nicht auswendig kenne, kann ich die Aufgabenstellung nur erraten im Moment.
jQuery.ajax({
type: "POST",
url: "myFunctions.php?action=saveFile",
data: "data=" + $('#myTextArea').html(),
success: function(response){
alert(response);
}
});
und noch die PHP:
<?php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
error_reporting(E_ALL);if($_GET['action'] == 'saveFile'){saveFile($dir);}
function saveFile($dir){
if(!$handle = fopen('/srv/myDir/myFile.txt', "w+")){
print "Can't open file";
exit;
}
Hier wäre nun noch ein Lock fällig für die Datei.
if(!fwrite($handle, $_POST['data'])){
print "Can't open file";
Du setzt voraus, dass die Daten länger als 0 Bytes sind.
Also entweder Bytes zählen und vergleichen, die geschrieben worden sind, oder aber auf FALSE mit einem Identitätsvergleich prüfen:
If( FALSE === fwrite(...))
Denn sonst ist das hier immer noch gelogen, denn geöffnet ist das File in diesem Moment hoffentlich.
Das File ist jetzt aber nicht beschreibbar, aus welchem Grunde auch immer (z.B. getrennte Verbindung zum Fileserver).
exit;
}fclose($handle);
}
?>
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi,
danke für euere Antworten.
Also die AJAX wandelt mir nur meine eingabe in eine form um, die in etwa so aussieht:
<form action="myFunctions.php?action=saveFile" target="_self" method="POST">
<textarea name="data"></textarea>
<input type="submit"></input>
</form>