debitux Geschrieben 4. September 2003 Teilen Geschrieben 4. September 2003 Hi, da ich zu Hause nur DSL habe und trotzdem meine Domains fit halten will, hab ich durch nen Tipp von nem Kollegen ein kleines Skript gebastelt. Das Skript schreibt die aktuelle IP in ein unsichtbares Frameset einer HTML Datei. Die HTML Datei (index.html ) wird dann per FTP auf den Server geschoben. So spare ich mir den ganzen DynDNS ****. Sorry :-). Leider bin ich jetzt auf ein Problem gestoßen. Strato verweigert IP's in Framesets und bei 1und1 hab ich kein Webspace für die Skripts hochzuladen. Ich habe mir auch schon überlegt von der alten strato domain zu 1und1 zu wechseln. Wie siehts eigentlich aus wenn ich die IP Adresse als ASCII Zeichen angebe? Setzt der das im Frameset richtig um? Könnte ich die IP Adresse nicht mit Javaskript verschlüsseln? Vielleicht weiß auch jemand wie die Prüfung von Strato funktioniert... Gruß debitux Vielleicht kanns jemand gebrauchen, ist aber noch nicht fertig: #PHP Code <?php $server_ip = gethostbyname($SERVER_NAME); $filename = "index.html"; $dz = fopen($filename,"r+"); $contents = fread ($dz, filesize ($filename)); $fertig = str_replace('serverip',$server_ip,$contents); rewind( $dz ); fwrite ($dz,$fertig); fclose($dz); $ftp_server = ""; $ftp_user_name = ""; $ftp_user_pass = "denkste :-PPP"; $destination_file = "index.html"; $source_file = "index.html"; $conn_id = ftp_connect("$ftp_server"); if (!$conn_id) { echo "Keine FTP Verbindung!\n"; die; } else { echo "Verbunden mit $ftp_server\n"; } $login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass"); if (!$login_result) { echo "Login fehlgeschlagen...! ($login_result)\n"; echo "Server: $ftp_server\n Benutzer: $ftp_user_name\n"; die; } else { echo "Eingeloggt in $ftp_server, mit dem Benutzer: $ftp_user_name\n"; } $pwd = ftp_pwd($conn_id); echo "Aktuelles Verzeichnis $pwd\n"; $upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY); if (!$upload) { echo "Ftp upload war fehlerhaft!"; } else { echo "Datei $source_file auf $ftp_server als $destination_file geschrieben\n"; } ftp_quit($conn_id); ?> #index.html... <HTML><HEAD> <META NAME="description" content=""> <META NAME="keywords" content=""> <TITLE>Meine private Homepage</TITLE> </HEAD> <FRAMESET ROWS="100%,*" BORDER="0" FRAMEBORDER="0"> <FRAME SRC="http://serverip/" SCROLLING="AUTO" NAME="bannerframe" NORESIZE> </FRAMESET> <NOFRAMES> Meine private Homepage <P> <DIV ALIGN="CENTER"><A HREF="http://serverpage/</A></DIV> </NOFRAMES> </HTML> Gruß debitux Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
debitux Geschrieben 4. September 2003 Autor Teilen Geschrieben 4. September 2003 So jetzt klappts... Ich hatte den Fehler gemacht die Seite über die Strato Domain aufzurufen... Deswegen wurde Stratos eigene IP in das Framset geschrieben und ich bekam (was eigentlich auch verständlich ist) eine Fehlermeldung bei der Domain... Naja egal jetzt funktionierts... Die IP FUnktion ist noch nicht so doll. Aber vielleicht kann es jemand brauchen, oder vielleicht hat jemand einen Verbesserungsvorschlag... Bin ja kein Programmierer :-) <?php function localserver() { exec('ifconfig',$catch); foreach($catch as $line){ if(eregi('addr',$line)) { if(eregi('P-t-P',$line)) { list($t,$ip) = split(':',$line); $ip = trim($ip, "P-t-P"); $ip = ereg_replace(" +", " ", $ip); return $ip; } } } } $server_ip = localserver(); $filename = "index.html"; $dz = fopen($filename,"r+"); exec('cp index.html index.html.save'); $contents = fread ($dz, filesize ($filename)); $fertig = str_replace('serverip',$server_ip,$contents); rewind( $dz ); fwrite ($dz,$fertig); fclose($dz); exec('mv index.html.save index.html'); $ftp_server = ""; $ftp_user_name = ""; $ftp_user_pass = ""; $destination_file = "index.html"; $source_file = "index.html"; $conn_id = ftp_connect("$ftp_server"); if (!$conn_id) { echo "Keine FTP Verbindung!\n"; die; } else { echo "Verbunden mit $ftp_server\n"; } $login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass"); if (!$login_result) { echo "Login fehlgeschlagen...! ($login_result)\n"; echo "Server: $ftp_server\n Benutzer: $ftp_user_name\n"; die; } else { echo "Eingeloggt in $ftp_server, mit dem Benutzer: $ftp_user_name\n"; } $pwd = ftp_pwd($conn_id); echo "Aktuelles Verzeichnis $pwd\n"; $upload = ftp_put($conn_id, "$destination_file", "$source_file", FTP_BINARY); if (!$upload) { echo "Ftp upload war fehlerhaft!"; } else { echo "Datei $source_file auf $ftp_server als $destination_file geschrieben\n"; } ftp_quit($conn_id); ?> Damit das Skript funzt, muss man nur eine index.html ins selbe Verzeichnis legen, die ftp Daten angeben usw.... In der index.html muss an der Stelle wo die IP stehen soll, einfach nur "serverip" stehen... thats all... Gruß + N8 debitux Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.