Uploadprogress: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(fehlende *.so Module)
KKeine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
== Uploadprogress ==
== Uploadprogress ==


{{Baustelle}}
Hier wird eine Möglichkeit kurz gezeigt wie eine Status Anzeige für einen laufenden php upload bei HS möglich ist.
 
Leider werden noch weitere *.so Module geladen.
Siehe auch:
https://lists.hostsharing.net/archiv/technik/2010-March/039473.html
 
 
Hier wird eine Möglichkeit kurz gezeigt wie eine Status Anzeige für einen laufenden php upload auf den HS Server möglich ist.


{{Textkasten|rot|Achtung nur als cgi:|Es muss leider lokal im Paket ein php Erweiterung installiert werden. Ausführung als cgi nicht fastcgi}}
{{Textkasten|rot|Achtung nur als cgi:|Es muss leider lokal im Paket ein php Erweiterung installiert werden. Ausführung als cgi nicht fastcgi}}
Zeile 15: Zeile 7:
Leider wird die Erweiterung nicht zentral von HS installiert und damit zur Verfügung gestellt.
Leider wird die Erweiterung nicht zentral von HS installiert und damit zur Verfügung gestellt.


=== uploadprogress.so erstellen ===
Also im eigenem Paket:
Also im eigenem Paket:
<pre>
<syntaxhighlight lang=shell>
mkdir /home/pacs/xyz00/php-modul/
mkdir /home/pacs/xyz00/php-modul/
cd /home/pacs/xyz00/php-modul/
cd /home/pacs/xyz00/php-modul/
Zeile 28: Zeile 21:
make
make
make test
make test
</pre>
</syntaxhighlight>


Nach dem make steht u.a. zum Schluss:
Nach dem make steht u.a. zum Schluss:
Zeile 37: Zeile 30:
Dort ist die uploadprogress.so Datei die wir benötigen.
Dort ist die uploadprogress.so Datei die wir benötigen.


<pre>
<syntaxhighlight lang=shell>
make install
make install
wird nicht benötigt da wir lokal keine Schreibrechte in das offizielle extension_dir haben.
wird nicht benötigt da wir lokal keine Schreibrechte in das offizielle extension_dir haben.
</pre>
</syntaxhighlight>
 
=== vorhandene *.so nutzen ===
Wir müssen nun noch die fest einkompilierten *.so Dateien per symlink in unser extension_dir aufnehmen.
 
<syntaxhighlight lang=shell>
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
</syntaxhighlight>


== Konfiguration ==
== Konfiguration ==
Nun müssen wir die .so Datei in userem WebSpace einbinden.
Nun müssen wir die .so Datei in unserem WebSpace einbinden.


=== Beispiel Dateien ===
=== Beispiel Dateien ===


Im Verzeichnis
Im Verzeichnis
<pre>
<syntaxhighlight lang=output>
/home/pacs/xyz00/php-module/uploadprogress-1.0.1/examples
/home/pacs/xyz00/php-module/uploadprogress-1.0.1/examples
</pre>
</syntaxhighlight>
Liegt ein Beispiel diese Dateien nun lokal z.b. nach
Liegt ein Beispiel diese Dateien nun lokal z.b. nach
upload.example.com
upload.example.com
<pre>
<syntaxhighlight lang=output>
/home/pacs/xyz00/doms/example.com/subs/upload
/home/pacs/xyz00/doms/example.com/subs/upload
</pre>
</syntaxhighlight>
kopieren.
kopieren.


=== phpstub kopieren ===
=== phpstub kopieren ===
<pre>
<syntaxhighlight lang=shell>
cp /home/pacs/xyz00/doms/example.com/fastcgi/phpstub ../cgi
cp /home/pacs/xyz00/doms/example.com/fastcgi/phpstub ../cgi
</pre>
</syntaxhighlight>


=== php.ini erstellen ===
=== php.ini erstellen ===
<pre>
<syntaxhighlight lang=ini line>
vi /home/pacs/xyz00/doms/example.com/cgi/php.ini
# vi /home/pacs/xyz00/doms/example.com/cgi/php.ini


[PHP]
[PHP]
extension_dir=/home/pacs/xyz00/php-module/uploadprogress-1.0.1/modules
extension_dir=/home/pacs/xyz00/php-module/uploadprogress-1.0.1/modules
extension=uploadprogress.so
extension=uploadprogress.so
</pre>
</syntaxhighlight>


=== .htaccess erstellen ===
=== .htaccess erstellen ===


ACHTUNG cgi-bin
'''ACHTUNG cgi-bin'''


<pre>
<syntaxhighlight lang=apache line>
vi /home/pacs/xyz00/doms/example.com/subs/upload/.htaccess
# vi /home/pacs/xyz00/doms/example.com/subs/upload/.htaccess


AddType application/x-httpd-phpcgi .php
AddType application/x-httpd-phpcgi .php
Action application/x-httpd-phpcgi /cgi-bin/phpstub
Action application/x-httpd-phpcgi /cgi-bin/phpstub
</pre>
</syntaxhighlight>


== Muster Seite ==
== Muster Seite ==
Zeile 92: Zeile 94:
=== Upload nur mit php ===
=== Upload nur mit php ===
Nur mit php, dafür mit reload der Seite.
Nur mit php, dafür mit reload der Seite.
Dafür auch ohne aktivem JavaScript.
Jedoch ohne aktivem JavaScript möglich.


http://upload-php.webowl.de/
http://upload-php.webowl.de/

Aktuelle Version vom 5. Juli 2024, 11:07 Uhr

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.

http://upload-php.webowl.de/

Links

http://pecl.php.net/package/uploadprogress

http://www.suchtwolke.de/2007/06/22/fortschrittsbalken-bei-einem-datei-upload-mittels-php-und-uploadprogress-pecl/

http://blog.liip.ch/archive/2009/06/20/upload-progress-meter-1-0-1-released.html