Uploadprogress: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
K (→‎vorhandene *.so nutzen: link lib/php5)
KKeine Bearbeitungszusammenfassung
 
Zeile 9: Zeile 9:
=== uploadprogress.so erstellen ===
=== 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 21: 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 30: 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 ===
=== vorhandene *.so nutzen ===
Wir müssen nun noch die fest einkompilierten *.so Dateien per symlink in unser extension_dir aufnehmen.
Wir müssen nun noch die fest einkompilierten *.so Dateien per symlink in unser extension_dir aufnehmen.


<pre>
<syntaxhighlight lang=shell>
cd /home/pacs/xyz00/php-module/uploadprogress-1.0.1/modules
cd /home/pacs/xyz00/php-module/uploadprogress-1.0.1/modules
ls /usr/lib/php5/20090626+lfs > so.txt
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
for i in $(cut -d: -f1 so.txt); do ln -s /usr/lib/php5/20090626+lfs/$i $i ; done
</pre>
</syntaxhighlight>


== Konfiguration ==
== Konfiguration ==
Zeile 50: Zeile 50:


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 ===
Zeile 78: Zeile 78:
'''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 ==

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