Uploadprogress
Uploadprogress
Hier wird eine Möglichkeit kurz gezeigt wie eine Status Anzeige für einen laufenden php upload bei HS möglich ist.
Achtung nur als cgi:
Es muss leider lokal im Paket ein php Erweiterung installiert werden. Ausführung als cgi nicht fastcgi
Leider wird die Erweiterung nicht zentral von HS installiert und damit zur Verfügung gestellt.
uploadprogress.so erstellen
Also im eigenem Paket:
mkdir /home/pacs/xyz00/php-modul/ cd /home/pacs/xyz00/php-modul/ wget http://pecl.php.net/get/uploadprogress tar xvzf uploadprogress rm uploadprogress rm package.xml cd uploadprogress-1.0.1 (bzw. aktuelle Version) phpize ./configure make make test
Nach dem make steht u.a. zum Schluss:
Libraries have been installed in: /home/pacs/xyz00/php-module/uploadprogress-1.0.1/modules
Dort ist die uploadprogress.so Datei die wir benötigen.
make install wird nicht benötigt da wir lokal keine Schreibrechte in das offizielle extension_dir haben.
vorhandene *.so nutzen
Wir müssen nun noch die fest einkompilierten *.so Dateien per symlink in unser extension_dir aufnehmen.
cd /home/pacs/xyz00/php-module/uploadprogress-1.0.1/modules ls /usr/lib/php5/20090626+lfs > so.txt for i in $(cut -d: -f1 so.txt); do ln -s /usr/lib/php5/20090626+lfs/$i $i ; done
Konfiguration
Nun müssen wir die .so Datei in unserem WebSpace einbinden.
Beispiel Dateien
Im Verzeichnis
/home/pacs/xyz00/php-module/uploadprogress-1.0.1/examples
Liegt ein Beispiel diese Dateien nun lokal z.b. nach upload.example.com
/home/pacs/xyz00/doms/example.com/subs/upload
kopieren.
phpstub kopieren
cp /home/pacs/xyz00/doms/example.com/fastcgi/phpstub ../cgi
php.ini erstellen
vi /home/pacs/xyz00/doms/example.com/cgi/php.ini [PHP] extension_dir=/home/pacs/xyz00/php-module/uploadprogress-1.0.1/modules extension=uploadprogress.so
.htaccess erstellen
ACHTUNG cgi-bin
vi /home/pacs/xyz00/doms/example.com/subs/upload/.htaccess AddType application/x-httpd-phpcgi .php Action application/x-httpd-phpcgi /cgi-bin/phpstub
Muster Seite
Upload mit php und JavaScript
Es muss im Browser JavaScript aktiv sein.
http://upload-php-js.webowl.de/
Upload nur mit php
Nur mit php, dafür mit reload der Seite. Jedoch ohne aktivem JavaScript möglich.
Links
http://pecl.php.net/package/uploadprogress
http://blog.liip.ch/archive/2009/06/20/upload-progress-meter-1-0-1-released.html