Archiv für die Kategorie ‘Plattform unabhängig’
Einfache Web-based SQL Administration mit SQLBuddy
Moin,
hab lange nichts mehr geschrieben. Heute bin ich über ein sehr schönes Tool gestoßen. Es nennt sich SQLBuddy und ist vergleichbar mit phpMyAdmin. SQLBuddy kann herunter geladen und einfach in ein Verzeichnis auf dem Webserver kopiert werden und schon ist es einsatzbereit. Vom Design her ist es sehr schlicht und übersichtlich gehalten, ausserdem ist es in 37 Sprachen verfügbar. Eine schöne alternative zu phpMyAdmin.
Einfach mal ausprobieren: http://sqlbuddy.com/
LG Arne
T-Home Entertainment über WLAN Bridge
Moin,
im Zuge meines Umzugs, habe ich mir einen neuen VDSL 25.000 Internet Anschluss, inkl. dem T-Home Entertainment Paket, bei der Telekom geleistet. In der neuen Wohnung liegt allerdings zwischen dem TV Tisch und dem Internet Anschluss, wo auch der VDSL Router (bei mir Speedport W920V) steht, ca 30 Meter, wenn man ein Netzwerkkabel entsprechend an der Wand verlegen würde. Die T-Home Entertainment Box funktioniert NUR mit angeschlossenem Netzwerk und aktiviertem DHCP Server sowie aktiver Internetverbindung. Die IP Adresse wird dem Gerät also automatisch zur Verfügung gestellt. Meine angestrebte Lösung war also, die T-Home E-Box über WLAN an die Speedport an zu koppeln. Ich hab das mal kurz skizziert, damit du weist wovon ich spreche:
Erster Ansatz:
Zwischen meiner Speedport W920V und meiner alten Speedport W700V wollte ich besagte Brücke aufbauen. Leider unterstützen diese Geräte die WLAN Brücke bzw. WLAN Client Funktionen nicht.
Zweiter Ansatz:
Von D-Link einen neuen Access Point gekauft, für 49,00 Euro bei Berlet. Leider unterstützte auch dieser die oben genannten Funktionen nicht. Das Gerät habe ich also Sang und klanglos zurück gebracht.
Dritter Ansatz:
Bei Atelco, man wills kaum glauben, bin ich dann fündig geworden. Dort gibt es folgenden Router: TP-LINK TL-WR340GD für unschlagbare 19,90 Euro. Die Konfiguration war relativ simpel:
1. Schritt:
Im Speedport unter Konfiguration > Netzwerk > Repeater die Repeater Funktion aktivieren, bei Verschlüsselung 128bit auswählen und einen Schlüssel eintragen.2. Schritt:
Im Speedport unter Konfiguration > Netzwerk > DHCP die End-IP auf 149 begrenzen. Meine Reichweite lautet nun: Start-IP 192.168.2.100 bis End-IP: 192.168.2.149. Dies ist nötig, damit wir bei dem zweiten Access Point den DHCP Server konfigurieren können und damit sich die beiden nicht ins Gehege kommen.3. Schritt:
Ein(en) Rechner/Notebook über Ethernet mit dem TP-LINK verbinden und die Konfiguration aufrufen. Unter Basic Settings > Network > LAN die IP Adresse von 192.168.2.1 in 192.168.2.2 ändern.4. Schritt:
Unter Basic Settings > Wireless > Wireless Settings die SSID beliebig ändern, muss sich aber von der AP 1 SSID unterscheiden!! Es muss der selbe Channel wie bei der Speedport ausgewählt sein, sowie der selbe Mode.5. Schritt:
Auf der selben Seite steht weiter unten “Enable Bridges“. Häckchen setzen und die MAC Adresse (Steht im Speedport Menu unter Status > Details > WLAN) eintragen. HINWEIS: Die Doppelpunkte durch Bindestriche ersetzen!! Andernfalls erkennt der TP-LINK die MAC Adresse nicht.6. Schritt:
Weiter auf der Seite “Enable Wireless Security” Häckchen setzen. Bei “Security Type” = WEP, “Security Option” = Automatic, “WEP Key Format” = Hexadecimal, “Key Type” = 128bit, “Key Selected” = Key 1 und bei “WEP Key” = den Schlüssel eintragen der unter Schritt 1 generiert wurde. Save nicht vergessen.7. Schritt:
Unter Advanced Settings > DHCP > DHCP Settings folgendes eintragen:
DHCP Server: Enable
Start IP Address: 192.168.2.150
End IP Address: 192.168.2.199
Address Lease Time: 120
Default Gateway: 192.168.2.1
Primary DNS: 192.168.2.1Mit Save bestätigen.
8. Schritt:
Die T-Home Entertainment Box mit dem TP-LINK per Ethernet verbinden.
Herzlichen Glückwunsch! Jetzt kann die T-Home Entertainment Box über die WLAN Brücke mit der Speedport sprechen und das ipTV Signal empfangen. Eine Lösung die für rund 20 Euro zu haben ist, anstelle der 199 Euro Alternative die von der Telekom angeboten wird. Für Fragen stehe ich gerne zur Verfügung :)
Gruß,
Arne Gockeln
Ajax File upload mit JQuery ohne Flash
Moin,
ich brauchte für einen Kunden dringend eine einfache Lösung PDF Dateien auf einen Webserver zu übertragen. Es gibt im Netz sehr viele andere Möglichkeiten mittels Flash und Javascript Dateien zu einem Webserver zu übertragen. Ich brauchte aber eine Lösung ohne Flash. Bei meiner Suche bin ich auf einen Artikel von “everflux” gestoßen, dieser wurde allerdings ohne funktionierendes Beispiel veröffentlicht und da dachte ich mir, schreib ich einen ausführlichen Artikel zu diesem Thema, inkl. funktionierendem Beispiel zum Download am Ende.
Fangen wir an:
Was ist unser Ziel? Wir wollen Dateien per HTML Formular über JQuery und PHP auf unseren Webserver übertragen.
Was brauchen wir?
- Die JQuery Javascript Library, ich habe die aktuelle Version jquery-1.4.min.js verwendet
- Eine kleine Animation zur Statusanzeige, die hab ich bei http://www.ajaxload.info/ generiert. (Danke)
- Ein HTML Formular, schreiben wir gleich
- JQuery Script um den Dateiupload an zu stoßen, schreiben wir auch gleich
- Eine PHP Datei (upload_event.php) die den Dateiupload steuert, schreiben wir auch gleich
- Eine Kanne Darjeeling Tee
Jetzt geht´s los, wir schreiben das HTML Formular welches dem Benutzer die Möglichkeit gibt eine Dateiauswahl zu treffen und nach erfolgreichem Upload den Dateinamen angezeigt bekommt.
<table border="0"> <tr> <td valign="top">Dateiname:</td> <td> <form action="upload_event.php" method="post" enctype="multipart/form-data" id="uploadForm"> <input type="text" name="dateiname" value="" id="dateiname" style="width: 400px;"/> <br/> <div id="hide"><input type="file" name="pdf"></input><input type="button" name="upload_pdf" value="Hochladen" id="upload_pdf"/></div></form> <div id="loader"></div> </td> </tr> </table>
So, zu sehen ist eine HTML Tabelle inkl. einem Formular. Wichtig ist dass der Tag enctype=”multipart/form-data” in der Formular Definition angegeben ist, ansonsten können wir keine Dateien übertragen. Das Input Feld “dateiname” benötigen wir in diesem Fall nur um den Rückgabewert des PHP Scriptes wieder zu geben. Dann haben wir unser Input Feld für die Dateiauswahl, ich hab´s PDF genannt und einen Button welcher den Prozess startet.
In den Kopf-Teil unserer Webseite bringen wir nun den JQuery Teil ein:
<script type="text/javascript" src="jquery-1.4.min.js"></script>
<script type="text/javascript">
$(function() {
// Formular abschicken
$('#uploadForm').submit(function(data) {
// Ajax Loader anzeigen
$('#loader').html('Lädt...<br/><img src="ajax-loader.gif" border="0"/>');
// Formular Elemente verstecken
$('#inputs').hide();
// abschickendes Formular angeben
var submittingForm = $('#uploadForm');
// eindeutigen iFrame Namen generieren
var frameName = ("upload" + (new Date()).getTime());
// iFrame setzen
var uploadFrame = $('<iframe name="' + frameName + '"></iframe>');
// iFrame verstecken
uploadFrame.css("display", "none");
// iFrame Inhalt laden
uploadFrame.load(function(data) {
// Timeout festlegen
setTimeout(function() {
// Rueckgabewert abfragen
$('#dateiname').val(uploadFrame.contents().find('#result').html());
// iFrame entfernen
uploadFrame.remove();
// Formular Elemente anzeigen
$('#inputs').show();
// Ajax Loader verstecken
$('#loader').hide();
}, 1000);
});
// iFrame zum Body hinzufuegen
$('body:first').append(uploadFrame);
// Formular target zum iFrame setzen
submittingForm.attr('target', frameName);
});
$('#upload_pdf').click(function() {
// Formular abschicken
$('#uploadForm').submit();
});
});
</script>
Der Übersichtlichkeit wegen, habe ich jede Zeile kommentiert. Jetzt brauchen wir noch unsere PHP Datei welche den Dateiupload auf unserem Webserver durchführt:
// In welches Verzeichnis soll geladen werden, hier in das selbe wo die Datei liegt
$uploadDir = dirname(__FILE__) . '/';
// Wie soll die Datei auf dem Webserver genannt werden, hier der Ursprungsname
$uploadFile = $uploadDir . basename($_FILES['pdf']['name']);
// Wenn die Datei erfolgreich uebertragen wurde, dann gib ein Div mit dem Dateinamen zurueck
if(move_uploaded_file($_FILES['pdf']['tmp_name'], $uploadFile)) {
echo '<div id="result">' . $_FILES['pdf']['name'] . '</div>';
} else {
echo '<div id="result">Fehler beim Speichern der Datei.</div>';
}
Was passiert nun? Das JQuery Script generiert einen iFrame, dieser wird dem HTML Dokument angehängt und versteckt. Über die load Eigenschaft wird dem iFrame mitgeteilt dass der Postprozess im iFrame durchgeführt werden soll, wo das Formular an die PHP Datei übergeben wird. Die PHP Datei überträgt die Datei auf den Webserver und gibt den Dateinamen zurück, welchen wir über die Zeile
$('#dateiname').val(uploadFrame.contents().find('#result').html());
aus dem iFrame zurück in unser Input Feld “dateiname” schreiben. Von hier aus, kann mit dem Resultat weiter gearbeitet werden.
Ich hoffe ich konnte jemandem mit dieser Anleitung einen kleinen Anreiz geben wie man solche Dateiuploads per JQuery und PHP steuern kann.
Zum besseren Verständnis habe ich die Scripte noch in eine Zip Datei zum Download gepackt. Das Script habe ich bis jetzt nur im Safari 4 auf meinem Mac getestet.
Download: JQuery Datei upload
Fragen beantworte ich gerne über die Kommentar Funktion oder per E-Mail! Viel Spaß damit!
Gruß,
Arne
Synkron – Verzeichnissynchronisation ganz einfach!
Moin,
gestern bin ich über ein sehr interessantes und durchaus sinnvolles Tool gestolpert. Mit Synkron kann man Verzeichnisse auf

einfache Art und Weise synchronisieren. Das Programm bietet ausserdem die Möglichkeit mehrere Verzeichnisse in einem Verzeichnis zusammen zu führen, sowie mehrere Synchronisationen gleichzeitig zu starten. Weiterhin ist es möglich,
Synchronisationen als Preset zu speichern um wiederkehrende Aufgaben schnell griffbereit zu haben. Synkron arbeitet schnell und zuverlässig. Ich verwende dieses unter Mac OS 10.4, 10.6 und Windows 7 um meine Daten auf einer externen Festplatte zu sichern. Verzeichnisse die bereits synchronisiert wurden, werden vorerst analysiert. Ist die Analyse abgeschlossen, werden nur Dateien kopiert, welche sich geändert haben. Das bringt einen entscheidenden Geschwindigkeitsvorteil.
Synkron wurde mit Qt4 und C++ entwickelt, als OpenSource veröffentlicht und ist für alle gängigen Plattformen verfügbar. Darunter Mac OS ab 10.4, Microsoft Windows ab 2000 sowie verschiedene Linux Derivate.
Synkron kann unter folgender Webseite herunter geladen werden: http://www.qt-apps.org/content/show.php/Synkron?content=61021
MfG,
Arne Gockeln
