Seite 2 von 5

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 7:39 am
von HerrKlinke
Ja, gute Idee.
Ich habe in der tat nur PHP zur verfügung. Aber woher bekomme ich nen Algorythmus dafür? Na ja, ich google mal ne runde...

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 8:51 am
von Xin
HerrKlinke hat geschrieben:Ja, gute Idee.
Ich habe in der tat nur PHP zur verfügung. Aber woher bekomme ich nen Algorythmus dafür? Na ja, ich google mal ne runde...
Ich sehe das hier als prinzipielles Problem, nach der Frage mit dem geeigneten Algorithmus wird es nämlich kritisch... Weiterhin wird Dein Hosting-Anbieter Dich kündigen, wenn Du dem die Maschine zum Packen per PHP lahmlegst. ;-)

Gepackte Daten besitzen meist eine hohe Datendichte. Darum lassen sich JPGs, ZIPs, RARs usw. nicht sinnvoll weiter packen. Häufig vergrößern die zusätzlichen Header die Datei dann nur noch. Große Daten liegen meist gepackt im INet vor.

Also: Prinzipielle Lösung für die Programmierfrage, die Dein Problem aber nicht löst:
PHP-Formular, dass die URL in Empfang nimmt. Ok Button: Der Server lädt die Datei auf den Server runter, wirft ZIP als Komando an und komprimiert sie, und schickt Dir die Datei, so dass im Browser der 'Speichern unter...'-Dialog kommt. Du entzippst die Datei und gut.

Sowas würde sich für nur Formate mit niedriger Datendichte lohnen BMP, Txt, PS und PDF, WAVE.
Bilder liegen in JPG oder PNG vor, Texte sind in der Regel kleine Dateien, Musik wird als MP3 verschickt.

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 1:08 pm
von Dirty Oerti
Einzige Mödglichkeit, die mir dazu einfällt:

Nimm einen einfachen Algorithmus, z.B. für spezielle Dateiformate und verwende keine dynamisch generierten Header, sondern statische.
Folge: Du musst keinen Overhead durch die Header mit Downloaden und ein bisschen kleiner wird die Datei dann schon.

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 4:25 pm
von HerrKlinke
Hmm, ja das ist schon alles so wie ich mir das vorstelle.
Extra selbst einen Algorithmus zu schreiben, wäre mir viel zu stressig.
Aber mit gzlib gehts bestimmt auch...
Aber kann ich bei nem kostenlosen Hoster überhaupt Dateien downloaden? - ich bin bei pytalhost.

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 4:29 pm
von Xin
HerrKlinke hat geschrieben:Hmm, ja das ist schon alles so wie ich mir das vorstelle.
Extra selbst einen Algorithmus zu schreiben, wäre mir viel zu stressig.
Ich habe mal den Lempel-Ziv 77 nachprogrammiert. Die aktuellen ZIPs sind aber effizienter. Nette Aufgabe.
HerrKlinke hat geschrieben:Aber mit gzlib gehts bestimmt auch...
Aber kann ich bei nem kostenlosen Hoster überhaupt Dateien downloaden? - ich bin bei pytalhost.
Müsste grundsätzlich gehen. Allerdings halt im Rahmen Deines Webspaces.
Was wiederum sein kann, ist das die installierte PHP-Version Einschränkungen bietet.

Interessant ist hier, wie Du aus der runtergeladenen Datei ein Archiv erstellst. Kannst Du Systembefehle aufrufen?

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 4:58 pm
von Dirty Oerti
Xin hat geschrieben:Kannst Du Systembefehle aufrufen?
Ich vermute, dass er das nicht kann.

Deswegen sehe ich auch die einzige Chance darin, dass irgendwie in PHP zu realisieren, was aber natürlich nicht gerade der Renner in Sachen Geschwindigkeit wäre...

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 5:08 pm
von HerrKlinke
Vermutlich kann ich das nicht.
Hmm, was dann z.B. für Befehle?
Also ich kann auch fremde URLs aufrufen. Insgesamt sind die Regeln bei Pytalhost relativ locker angelegt.
Falls euch das weiter hilft:
http://klinkemedia.pytalhost.de/phpinfo.php

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 5:29 pm
von Dirty Oerti
allow_url_fopen Off
Das könnte zu einem Problem werden...
disable_functions exec,dl,ini_alter,ini_get_all,ini_restore,ini_set,passthru,proc_open,shell_exec,system,popen,symlink,link,fsockopen,pfsockopen,proc_nice,proc_terminate,proc_close,proc_get_status,php_uname,getrusage,get_current_user,set_time_limit,getmyuid,getmypid,leak
Und das sagt, dass du keine Systemaufrufe aus PHP heraus machen kannst.
Du kannst also weder einen Systemaufruf tätigen, noch eine Datei auf einem anderem Server öffnen...

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 7:20 pm
von HerrKlinke
Dann muss ich mich wohl damit abfinden.
Trotzdem danke.

Re: Client-/Seververbindung global über IP/TCP

Verfasst: Fr Dez 05, 2008 9:40 pm
von Dirty Oerti
HerrKlinke hat geschrieben:Dann muss ich mich wohl damit abfinden.
Trotzdem danke.
Keine Ahnung, ich hab mich "damals" dann damit erstmal abgefunden.
Das alles heißt aber denke ich noch lange nicht, dass du dich wirklich damit abfinden musst.