WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Internet (http://www.wcm.at/forum/forumdisplay.php?f=8)
-   -   TAR Archive ohne Shell entpacken? (http://www.wcm.at/forum/showthread.php?t=140649)

row 30.07.2004 15:01

TAR Archive ohne Shell entpacken?
 
Hi Leute,

kann man eigentlich tar-Archive auch ohne Shell-Zugriff am Webserver des Hosters entpacken? Vielleicht per FTP-Client?

Bei meinem WebFTP per Confixx hab ich keine Option dafür gefunden :(

zeeb 30.07.2004 15:15

mit php z.b.

bei gepackten tar:
PHP-Code:

system("tar -xvzf archive.tar.gz"); 

bei ungepackten tar:
PHP-Code:

system("tar -xvf archive.tar"); 


row 30.07.2004 15:21

Hej, das war ja flott!

D.h. einfach eine Datei, z.B. entpacken.php mit der Zeile
PHP-Code:

system("tar -xvzf archive.tar.gz"); 

anlegen?

Muss man auch irgendwie den Pfad angeben oder entpackt er einfach in das Verzeichnis in dem das TAR liegt?

zeeb 30.07.2004 15:32

wird einfach in das verzeichnis entpackt wo es drin liegt.

die datei entpacken.php sieht dann so aus:
PHP-Code:

<? 
system
("tar -xvzf archive.tar.gz");
?>

und solte am besten im selben verzeichnis wie die tar datei liegen...

row 30.07.2004 15:43

Okay, hab entpacken.php angelegt und ausgeführt - tut sich aber nix wenn ich entpacken.php mit dem Browser aufrufe - mach ich was falsch?

zeeb 30.07.2004 18:42

hmm...

noch nen paar andere versuche:
http://www.inspire-world.de/board/showthread.php?t=7793

oder einfacher:
http://www.google.at/search?q=tar+au...8&start=0&sa=N

bin kein spezi, du könntest auch mal versuchen stat system() exec() zu verwenden...

midas 31.07.2004 16:26

Hat das PHP script schreibzugriff auf die Platte?
Ich glaub das braucht einen, damit es das auch schreiben kann.

row 01.08.2004 11:51

Ich werd' mir das mal mit dem Schreibzugriff ansehen und halte Euch auf dem Laufenden!

Philipp 01.08.2004 15:22

Bei den meisten Providern ist exec() oder system() aus Sicherheitsgründen nicht freigeschaltet. Siehe auch http://at.php.net/features.safe-mode

row 02.08.2004 10:07

So, jetzt bin ich ja sowieso vor'm Entpacken bei einer anderen Frage angelangt...
in der Installationsanleitung des tar-Archives steht:
* Copy the directory osp in your webserver directory

Nachdem ich ja keinen eigenen Server habe, heisst dass es in das HTML-Verzeichnis meines Hosters zu entpacken oder noch eine Hierarchie höher - dort wo die Verzeichnisse Log, Html, Backup etc. stehen (was ich eher glaube). Sorry für meine Newbie-Fragen!

row 09.08.2004 12:07

So, jetzt hab ich mal ein bisschen recherchiert auf meinem Account.
Safe_mode is "on", aber das safe_mode_exec_dir ist auf meinen Account gesetzt. Dass heisst doch dass ich innerhalb meines Webspaces entpacken dürfte oder? Hab jetzt auch schon BZip2 ausprobier (weil steht: BZip2 Support "Enabled") bis jetzt aber erfolglos :(
Any ideas?

Arachon 09.08.2004 13:08

mit system() oder passthru() sollte es eigentlich funktionieren...

andere möglichkeit: schieb doch einfach das tar.gz-file in den gewünschten ordner und bitte den support deines providers, das verzeichnis für dich zu entpacken.

_m3 09.08.2004 13:12

Lokal entpacken und dann per ftp raufschiessen?

row 09.08.2004 15:19

@_m3
Wenn es nicht anders geht bleibt eh nix anders über :(

Ich poste Euch mal das Script, damit ich eh nix übersehen habe:
das Script unpack.php
PHP-Code:

<? system("tar -xvf at-highspeed-howto-html.tar"); 
?>

Die Rechte des TARs und des PHP-Scripts sind beide auf Lesen & Schreiben & Ausführen für Benutzer, Gruppe & Andere (im FTP-Confixx)

Ich führe unpack.php aus - keine Fehlermeldung kommt, es tut sich aber auch nix...

_m3 09.08.2004 21:04

Zitat:

system() gibt die letzte Zeile der Befehlsausgabe bei Erfolg, andernfalls FALSE zurück.

Wenn Sie auf die direkte Rückgabe/ Ausgabe eines Befehls angewiesen sind, dann benutzen Sie stattdessen die Funktion passthru().
http://at.php.net/manual/de/function.system.php

Frag mal den Rueckgabewert ab. ;)

row 10.08.2004 09:59

Ich hoffe ich hab das jetzt richtig gemacht mit dem Rückgabewert abfragen. Auf
PHP-Code:

<? 
system
("tar -xvf  at-highspeed-howto-html.tar"$a); 
echo 
$a;
?>

folgt die Browserausgabe: 127
Und was sagt mir das jetzt?

_m3 10.08.2004 14:35

Ruf mal das tar mit dem kompletten Pdas zum Tar-File auf, ev. findet er es nicht. ;)

row 10.08.2004 15:49

Wer oder was ist den Pdas - meinst Du Pfad?
Ich hab die direkte http://Pfadangabe der Datei jetzt mal ausprobiert - hat leider nix verändert.

Ich hab's jetzt auch mal lokal mit dem XAMPP ausprobiert - da krieg ich die Systemmeldung 0 zurück und es tut sich auch nix, *grübel*

_m3 10.08.2004 16:56

1) Ja, pfad ;)
2) nicht den http, sondern den lokalen, also z.B. /var/www/tmp/at-highspeed-howto-html.tar

Philipp 10.08.2004 17:23

Das wird nicht funktionieren da system() im Safe Mode relativ eingeschränkt ist. Das hat auch damit zu tun das die Befehle mit den Rechten des Apache Webservers ausgeführt werden ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag