Zitat von
Spooky
Dann stimmt etwas mit deinem PHP Script nicht. Beschreibe, was du und dein PHP Script macht, genauer. Bist du dir sicher, dass du überhaupt in den richtigen Ordner schreibst? Also den Ordner files/ deiner Contao Installation und nicht bspw. den Ordner web/files/.
Die Daten gehen in den richtigen Ordner. Also nicht im web/files (der ja meinem Verständnis nach nur eine Umleitung auf den /files/ eine Ebene höher ist.
Zuerst lege ich die Datei an, falls sie nicht existiert. Dieser Schritt funktioniert schon nicht, wenn der Ordner nicht öffentlich ist – wohl aber, wenn der Ordner öffentlich ist:
PHP-Code:
<?php
$file = 'files/csv-daten/daten.csv';
//Use the function is_file to check if the file already exists or not.
if(!is_file($file)){
//Some simple example content.
$contents = ''.PHP_EOL;
//Save our content to the file.
file_put_contents($file, $contents);
}
?>
Im Javascript baue ich mir die Daten in einer Variable zusammen, die da reinsollen:
HTML-Code:
$.ajax({
type: "POST",
url: "/write.php",
data: {dataset: dataset},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Some error occured");
}
});
Die write.php, die die Daten entgegennimmt und schreiben soll, sieht so aus:
PHP-Code:
<?PHP
$dataset = $_POST['dataset'];
$filename = 'daten.csv';
@ $fp = fopen("files/csv-daten/".$filename, 'a+');
if (!$fp){
echo 'Cannot write to file';
exit;
}else{
$outputstring = $dataset.PHP_EOL;
fwrite($fp, $outputstring);
}
?>