Hallo
jNizM.
Also ich habe
FTP_Upload.ahk getestet und erfolgreich eine Datei ins Wurzelverzeichnis hochgeladen.
Dasselbe in ein Unterverzeichnis jedoch, ist mir nicht gelungen.
Ich habe für Pfade sowohl \ als auch / ausprobiert.
Siehe:
Code: Select all
FTPUpload("ssh.MeineWebseite.net/tracking", "Benutzername", "Passwort", "D:\A\B\C\D.txt", "ABC.txt")
FTPUpload("ssh.MeineWebseite.net\tracking", "Benutzername", "Passwort", "D:\A\B\C\D.txt", "ABC.txt")
Geht das nicht, oder mache ich wieder etwas verkehrt?
Schade eigentlich, weil die Eingabedaten hier so simpel sind. Simpel als Verbesserung im positiven Sinn.
PS: Mein Projekt - Eine Trackingseite - funktioniert jetzt fabelhaft.
Dank all der vielen Codeschnipsel, die ich im Internet zusammengesucht und verkittet habe
Folgendes habe ich realisiert:
Ich lade mit AHK eine Textdatei, mit csv-ähnlichem Aufbau, auf ein Webspace.
Dieser Webspace beinhaltet eine PHP-Website mit einem sichtbaren Eingabeformular.
Die PHP-Website verarbeitet eine sechsstellige Trackingnummer, die in der hochgeladenen Datei gesucht wird.
Sollte sie gefunden werden, wird die gesamte Zeile geparst und die Informationen werden tabellarisch im Browser angezeigt.
Speziell: Fahrzeugüberführungen.
Der Kunde gibt seinen Wagen ab, benennt die Destination, geht nach Hause und trackt den Status.
Musste er vorher immer wieder anrufen und spezielle Informationen nachfragen, so kann er nun, per Smartphone und weltweit, die letzten sechs Ziffern seiner Chassisnummer eingeben und alles über sein Fahrzeug erfahren.
Z.B. Ankunftsdatum am Hafen, Schiffnamen, voraussichtliches Abfahrts-/Ankunftsdatum etc.
Also Arbeitsentlastung im Büro und mehr Kundenzufriedenheit
Wer an ähnlichen Lösungen arbeitet kann mir vielleicht helfen, die Seite sowohl für Smartphones, als auch für normale Monitore, ansprechend zu gestalten. Dafür kriegt er auch das php-Skript zu sehen, hihi
Nur damit ihr sehen könnt, wie es aussieht, wage ich mich an die Grenzen der Schleichwerbung. Ehrlich
Klickt auf unteren Link und dann auf den orangefarbenen Balken, in dem "Tracking" steht.
http://africar.de
und dann 609708 eingeben.
Einen Direktlink ohne Schleichwerbung habe ich leider nicht hinbekommen.
Voila. DIY-Trackingsite
*$%&/ auf die Regeln. Hier ist das PHP-Skript. Zumindest das Gerüst.
Die csv-ähnliche Datei ist folgendermaßen aufgebaut:
Das erste Trennzeichen ist ein Gleichheitszeichen. Die folgenden Trennzeichen jeweils ein Pipe.
123456=JMZGG14F231123456|Mazda|323
Optimal ist das nicht, da das Suchwort, hier 123456, auch nochmal in der kompletten Chassisnummer vorkommt.
Die Liste ist ganz einfach mit weiteren, mit Pipezeichen getrennten, Einträgen erweiterbar. Nur ganz simple PHP-Codeanpassung notwendig, die auch PHP-Unkundige, so wie ich, durchführen können.
Code: Select all
<?php
error_reporting(E_ALL);
/* formular-checks immer bevor das formular ausgegeben wird */
$gefunden = false;
$formularfehler = '';
if(isset($_POST['submitbutton'])){
// formular abgesandt
if(!isset($_POST['statuscode'])or empty($_POST['statuscode'])){
// es wurde kein code eingegeben
$formularfehler = 'Type Chassis#!';
}else{
// es wurde ein code eingegeben
$suchwort = trim($_POST['statuscode']); // trim entfernt u.a. leerzeichen am anfang und ende
$suchwort = strtoupper($suchwort);
// file name festlegen
$filename = 'track.txt';
// existiert die datei?
if(!file_exists($filename)){
/* nein, datei nicht gefunden
HIER DEINE FEHLERBEHANDLUNG
*/
}else{
$daten = file($filename); // liest eine datei in ein array (http://de2.php.net/manual/en/function.file.php)
/* jetzt ist der inhalt von 'track.txt' in $daten */
foreach($daten as $str){ // für jede zeile in $daten als (genannt) $str
// temp-ziel-variable (erstmal ein leeres array):
$result = array();
// wir trennen mittels "="
$temp = explode("=", $str);
if(count($temp) < 2){
// hier dann was du brauchst -- fehler meldung? oder ignorieren?
// HIER DEINE FEHLERBEHANDLUNG
// continue bewirkt, dass mit der nächsten zeile weitergemacht wird.
continue;
}
/* $temp[0] stecken wir nun in unsere temp-ziel-variable */
$result[0] = $temp[0]; // "YECXXcc"
$str = $temp[1];
/* jetzt teilen wir via "|" */
$temp = explode("|", $temp[1]);
// $result[0] ist schon (siehe weiter oben) zugewiesen und enthält "YECXX"
// daher machen wir hier mit $result[1] weiter
$result[1] = $temp[0];
$result[2] = $temp[1];
$result[3] = $temp[2];
// Wenn der 1. Eintrag ( 0 ) mit dem Suchwort übereinstimmt
if($result[0] == $suchwort){
// sagen das gefunden wurde
$gefunden = true;
// break beendet hier die foreach() -schleife
break;
}
} // [ENDE] foreach
} // [ENDE] else ($daten war nicht false)
} // [ENDE] else (wenn $_POST['statuscode'] nicht leer war)
} // [ENDE] isset($_POST['submitbutton'])
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta charset="utf-8" />
<title>Trackingsite</title>
<style>
table { width:100%; }
.Titel { text-align: left; font-size:3em; color:#000000; background-color:#EFBC0B; }
.Inhalt { text-align: left; font-size:3em; color:#000000; background-color:#ffffff; vertical-align:top; }
Rest { text-align: left; font-size:3em; color:#000000; background-color:#ffffff; vertical-align:top; }
</style>
</head>
<body>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post" enctype="application/x-www-form-urlencoded">
<p>
<Rest>Chassis# (last six numbers):</Rest><br>
<input class="Inhalt" type="text" name="statuscode" />
<input class="Inhalt" type="submit" name="submitbutton" value="Ok">
<?php echo htmlspecialchars($formularfehler); ?>
</p>
</form>
<?php
//Wenn etwas gefunden wurde
if($gefunden){
// zur erinnerung: die gefundene zeile steckt in $result
?>
<caption>
<Rest>Results for "<?php echo htmlspecialchars($suchwort); ?>"</Rest>
</caption>
<table>
<thead>
<tr>
<th class="Titel"><b>Chassis#:</b></th>
</tr>
<tr>
<td class="Inhalt"><b><?php echo htmlspecialchars($result[1]); ?></b></td>
</tr>
<tr>
<th class="Titel"><b>Brand</b></th>
</tr>
<tr>
<td class="Inhalt"><?php echo htmlspecialchars($result[2]); ?></td>
</tr>
<tr>
<th class="Titel"><b>Model</b></th>
</tr>
<tr>
<td class="Inhalt"><?php echo htmlspecialchars($result[3]); ?></td>
</tr>
<tr>
<th class="Titel"><b>Your shipping agency AFRICAR thanks for your order </b></th>
</tr>
</thead>
</table>
<?php
}
//wenn nichts gefunden wurde oder die Datei nicht geöffnet werden konnte
elseif(isset($_POST['submitbutton']) and $formularfehler == ''){
// die meldung nur anzeigen, wenn die form angesandt wurde und keine $formularfehler vorkamen
echo "No results. Please try capital letters.";
}
?>
</body>
</html>
AHK hat, im Vergleich zu
PHP und vielen anderen Sprachen, eine unschlagbar elegante Notation. Einfach super
EDIT: Das überarbeitete (verbesserte) PHP-Skript gibt es hier ->
Online Trackingwebsite - Onlinetracking.
For the rectified PHP-Script please look here - >
Online Trackingwebsite - Onlinetracking.
EDIT2: Bewegte Icons entfernt.
Hallo [color=#008000]jNizM[/color].
Also ich habe [b]FTP_Upload.ahk[/b] getestet und erfolgreich eine Datei ins Wurzelverzeichnis hochgeladen.
Dasselbe in ein Unterverzeichnis jedoch, ist mir nicht gelungen.
Ich habe für Pfade sowohl \ als auch / ausprobiert.
Siehe:
[code]FTPUpload("ssh.MeineWebseite.net/tracking", "Benutzername", "Passwort", "D:\A\B\C\D.txt", "ABC.txt")
FTPUpload("ssh.MeineWebseite.net\tracking", "Benutzername", "Passwort", "D:\A\B\C\D.txt", "ABC.txt")[/code]
Geht das nicht, oder mache ich wieder etwas verkehrt?
Schade eigentlich, weil die Eingabedaten hier so simpel sind. Simpel als Verbesserung im positiven Sinn.
PS: Mein Projekt - Eine Trackingseite - funktioniert jetzt fabelhaft.
Dank all der vielen Codeschnipsel, die ich im Internet zusammengesucht und verkittet habe :mrgreen: :mrgreen:
Folgendes habe ich realisiert:
Ich lade mit AHK eine Textdatei, mit csv-ähnlichem Aufbau, auf ein Webspace.
Dieser Webspace beinhaltet eine PHP-Website mit einem sichtbaren Eingabeformular.
Die PHP-Website verarbeitet eine sechsstellige Trackingnummer, die in der hochgeladenen Datei gesucht wird.
Sollte sie gefunden werden, wird die gesamte Zeile geparst und die Informationen werden tabellarisch im Browser angezeigt.
Speziell: Fahrzeugüberführungen.
Der Kunde gibt seinen Wagen ab, benennt die Destination, geht nach Hause und trackt den Status.
Musste er vorher immer wieder anrufen und spezielle Informationen nachfragen, so kann er nun, per Smartphone und weltweit, die letzten sechs Ziffern seiner Chassisnummer eingeben und alles über sein Fahrzeug erfahren.
Z.B. Ankunftsdatum am Hafen, Schiffnamen, voraussichtliches Abfahrts-/Ankunftsdatum etc.
Also Arbeitsentlastung im Büro und mehr Kundenzufriedenheit :mrgreen: :mrgreen: :mrgreen:
Wer an ähnlichen Lösungen arbeitet kann mir vielleicht helfen, die Seite sowohl für Smartphones, als auch für normale Monitore, ansprechend zu gestalten. Dafür kriegt er auch das php-Skript zu sehen, hihi :mrgreen:
Nur damit ihr sehen könnt, wie es aussieht, wage ich mich an die Grenzen der Schleichwerbung. Ehrlich :D :D :D
Klickt auf unteren Link und dann auf den orangefarbenen Balken, in dem "Tracking" steht.
http://africar.de
und dann 609708 eingeben.
Einen Direktlink ohne Schleichwerbung habe ich leider nicht hinbekommen.
Voila. DIY-Trackingsite
*$%&/ auf die Regeln. Hier ist das PHP-Skript. Zumindest das Gerüst.
Die csv-ähnliche Datei ist folgendermaßen aufgebaut:
Das erste Trennzeichen ist ein Gleichheitszeichen. Die folgenden Trennzeichen jeweils ein Pipe.
[b]123456=JMZGG14F231123456|Mazda|323[/b]
Optimal ist das nicht, da das Suchwort, hier 123456, auch nochmal in der kompletten Chassisnummer vorkommt.
Die Liste ist ganz einfach mit weiteren, mit Pipezeichen getrennten, Einträgen erweiterbar. Nur ganz simple PHP-Codeanpassung notwendig, die auch PHP-Unkundige, so wie ich, durchführen können.
[code]<?php
error_reporting(E_ALL);
/* formular-checks immer bevor das formular ausgegeben wird */
$gefunden = false;
$formularfehler = '';
if(isset($_POST['submitbutton'])){
// formular abgesandt
if(!isset($_POST['statuscode'])or empty($_POST['statuscode'])){
// es wurde kein code eingegeben
$formularfehler = 'Type Chassis#!';
}else{
// es wurde ein code eingegeben
$suchwort = trim($_POST['statuscode']); // trim entfernt u.a. leerzeichen am anfang und ende
$suchwort = strtoupper($suchwort);
// file name festlegen
$filename = 'track.txt';
// existiert die datei?
if(!file_exists($filename)){
/* nein, datei nicht gefunden
HIER DEINE FEHLERBEHANDLUNG
*/
}else{
$daten = file($filename); // liest eine datei in ein array (http://de2.php.net/manual/en/function.file.php)
/* jetzt ist der inhalt von 'track.txt' in $daten */
foreach($daten as $str){ // für jede zeile in $daten als (genannt) $str
// temp-ziel-variable (erstmal ein leeres array):
$result = array();
// wir trennen mittels "="
$temp = explode("=", $str);
if(count($temp) < 2){
// hier dann was du brauchst -- fehler meldung? oder ignorieren?
// HIER DEINE FEHLERBEHANDLUNG
// continue bewirkt, dass mit der nächsten zeile weitergemacht wird.
continue;
}
/* $temp[0] stecken wir nun in unsere temp-ziel-variable */
$result[0] = $temp[0]; // "YECXXcc"
$str = $temp[1];
/* jetzt teilen wir via "|" */
$temp = explode("|", $temp[1]);
// $result[0] ist schon (siehe weiter oben) zugewiesen und enthält "YECXX"
// daher machen wir hier mit $result[1] weiter
$result[1] = $temp[0];
$result[2] = $temp[1];
$result[3] = $temp[2];
// Wenn der 1. Eintrag ( 0 ) mit dem Suchwort übereinstimmt
if($result[0] == $suchwort){
// sagen das gefunden wurde
$gefunden = true;
// break beendet hier die foreach() -schleife
break;
}
} // [ENDE] foreach
} // [ENDE] else ($daten war nicht false)
} // [ENDE] else (wenn $_POST['statuscode'] nicht leer war)
} // [ENDE] isset($_POST['submitbutton'])
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta charset="utf-8" />
<title>Trackingsite</title>
<style>
table { width:100%; }
.Titel { text-align: left; font-size:3em; color:#000000; background-color:#EFBC0B; }
.Inhalt { text-align: left; font-size:3em; color:#000000; background-color:#ffffff; vertical-align:top; }
Rest { text-align: left; font-size:3em; color:#000000; background-color:#ffffff; vertical-align:top; }
</style>
</head>
<body>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post" enctype="application/x-www-form-urlencoded">
<p>
<Rest>Chassis# (last six numbers):</Rest><br>
<input class="Inhalt" type="text" name="statuscode" />
<input class="Inhalt" type="submit" name="submitbutton" value="Ok">
<?php echo htmlspecialchars($formularfehler); ?>
</p>
</form>
<?php
//Wenn etwas gefunden wurde
if($gefunden){
// zur erinnerung: die gefundene zeile steckt in $result
?>
<caption>
<Rest>Results for "<?php echo htmlspecialchars($suchwort); ?>"</Rest>
</caption>
<table>
<thead>
<tr>
<th class="Titel"><b>Chassis#:</b></th>
</tr>
<tr>
<td class="Inhalt"><b><?php echo htmlspecialchars($result[1]); ?></b></td>
</tr>
<tr>
<th class="Titel"><b>Brand</b></th>
</tr>
<tr>
<td class="Inhalt"><?php echo htmlspecialchars($result[2]); ?></td>
</tr>
<tr>
<th class="Titel"><b>Model</b></th>
</tr>
<tr>
<td class="Inhalt"><?php echo htmlspecialchars($result[3]); ?></td>
</tr>
<tr>
<th class="Titel"><b>Your shipping agency AFRICAR thanks for your order </b></th>
</tr>
</thead>
</table>
<?php
}
//wenn nichts gefunden wurde oder die Datei nicht geöffnet werden konnte
elseif(isset($_POST['submitbutton']) and $formularfehler == ''){
// die meldung nur anzeigen, wenn die form angesandt wurde und keine $formularfehler vorkamen
echo "No results. Please try capital letters.";
}
?>
</body>
</html>[/code]
[b]AHK[/b] hat, im Vergleich zu [b]PHP[/b] und vielen anderen Sprachen, eine unschlagbar elegante Notation. Einfach super :)
[color=#0000FF]EDIT[/color]: Das überarbeitete (verbesserte) PHP-Skript gibt es hier -> [url=https://autohotkey.com/boards/viewtopic.php?f=15&t=34752]Online Trackingwebsite - Onlinetracking[/url].
For the rectified PHP-Script please look here - > [url=https://autohotkey.com/boards/viewtopic.php?f=15&t=34752]Online Trackingwebsite - Onlinetracking[/url].
[color=#0000FF]EDIT2[/color]: Bewegte Icons entfernt. :crazy: