Hi!
hat da jemand eine Idee wie ich weiter komme ?
Warum willst Du die CSV auf einem Webserver ablegen?
Aktuell fehlt dazu offenbar die entsprechende sendfile.php - daher auch der 404-Fehler (siehe auch
hier).
Im lokalen Netz ist es normalerweise sinnvoller, die Datei auch lokal im Dateisystem anzulegen, daher waere als Ziel etwas wie
FWD_URL = /data/FOSHKplugin/
oder
FWD_URL = /srv/oli-ubuntu2/loxberry-last/own-wswin.csv
sinnvoller.
Also ein lokal erreichbares Verzeichnis, das sich ggf. sogar als Samba-Freigabe nutzen laesst.
Wenn es die Loesung ueber http sein muss, solltest Du fuer eine passende sendfile.php sorgen:
Code: Alles auswählen
<?php
# sendfile.php - you may name this script as you like
# demo script for receiving files from FOSHKplugin via http/POST
# Oliver Engel, 26.10.2022
# for debug
$debug = False;
# set user & password to allow upload
$known_user = "username1";
$known_password = "secret!";
# set another user & password to allow upload
$known_user2 = "username2";
$known_password2 = "secret!";
# process incoming http/POST message
# parameters passed by FOSHKplugin:
# user, password, filename, append, fwd_type, prgname, prgver
if (isset($_POST['user'])) { $user = $_POST['user']; } else { $user = ""; }
if (isset($_POST['password'])) { $password = $_POST['password']; } else { $password = ""; }
if (isset($_POST['filename'])) { $filename = $_POST['filename']; } else { $filename = ""; }
if (isset($_POST['append'])) { $append = $_POST['append']; } else { $append = False; }
if (isset($_POST['fwd_type'])) { $fwd_type = $_POST['fwd_type']; } else { $fwd_type = ""; }
if (isset($_POST['prgname'])) { $prgname = $_POST['prgname']; } else { $prgname = ""; }
if (isset($_POST['prgver'])) { $prgver = $_POST['prgver']; } else { $prgver = ""; }
if (isset($_POST['content'])) { $content = $_POST['content']; } else { $content = ""; }
# debug
if ($debug) {
$Debug_File = fopen("debug.log", 'a');
fwrite($Debug_File, date("d.m.y H:i:s",time()).";".$user.";".$filename.";".$append.";".$fwd_type.";".$prgname.";".$prgver.";".rtrim($content)."\r\n");
fclose($Debug_File);
}
# WSWin header for CSV files
$WSWinCSVHeader = ";;1;17;133;2;18;35;36;45;134;42;41;3;19;4;20;5;21;6;22;7;23;8;24;29;30;31;32;25;26;27;28;37;13;14;15;16\r\n";
# only process with known credentials
if (($known_user == $user and $known_password == $password) or ($known_user2 == $user and $known_password2 == $password)) {
if ($fwd_type == "SAVE" || $fwd_type == "BANNER") {
if (move_uploaded_file($_FILES['image']['tmp_name'], $filename)) {
echo "file ".$filename." saved";
$rcode = 200;
} else {
echo "error while saving ".$filename;
$rcode = 500;
}
} else {
if ($append == "True") { $Saved_File = fopen($filename, 'a'); } else { $Saved_File = fopen($filename, 'w'); }
if ($fwd_type = "WSWIN" && !(file_exists($filename))) { fwrite($Saved_File, $WSWinCSVHeader); }
fwrite($Saved_File, $content);
fclose($Saved_File);
echo "ok";
$rcode = 200;
}
http_response_code($rcode);
} else {
echo "unauthorized access!";
http_response_code(401);
}
?>
Oliver