Nach zip suchen und enzippen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
dank
datei
datum
durchsuchen
file
ftp
grund
helfen
null
ordner
problem
raten
re
server
suchen
url
verraten
vorgabe
zugang
-
Hallo,
folgendes will ich erreichen:
Auf einem Server liegt der Ordner x mit der Datei "abc.bz2" drin. Ich weiss den tatsächlichen Namen des Ordners nicht. Was ich erreichen will, ist, dass er die .bz2 Datei findet, enzippt und auf meinem Server abspeichert, oder ich den Text der darin enhalten ist einbinden kann, was fast noch besser wäre.
Ist das auf irgendwelche Weise überhaupt möglich?
Ideen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
also fürs entpacken mit PHP hätte ich schonmal ne Lösung gefunden (erster Link in google)
http://www.bjw.co.nz/developer/php/62-php-unzip-an-uploaded-file-using-php
Ich hoffe du meintest sowas!
Lg. -
sawei3 schrieb:
Er meint bz2 und nicht ZIP.
also fürs entpacken mit PHP hätte ich schonmal ne Lösung gefunden (erster Link in google)
Er sucht so was in der Art:
Das entpackt eine bz2-Datei in die Variable$file = "/tmp/foo.bz2"; $bz = bzopen($file, "r") or die("Konnte $file nicht öffnen"); $decompressed_file = ''; while (!feof($bz)) { $decompressed_file .= bzread($bz, 4096); } bzclose($bz); echo "Der Inhalt von $file ist: <br />\n"; echo $decompressed_file;
.$decompressed_file
-
rate schrieb:
so wird es alle ordner unterhalb der vorgabe durchsuchen:
Danke, Hackyourlife, aber ich weiss ja nicht, in welchem Ordner sich die Datei befindet. Gibt es da eine Möglichkeit?<?php $path = realpath('./'); // das ist die path-vorgabe $res = null; $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST); foreach ($objects as $file => $object) { if(strstr($file, '.bz2')) { echo "$file<br />"; $bz = bzopen($file, "r") or die("Konnte $file nicht öffnen"); $tmp = null; while (!feof($bz)) { $tmp .= bzread($bz, 4096); } bzclose($bz); $res[] = $tmp; } } echo '<pre>' . print_r($res, true) . '</pre>';
Beitrag zuletzt geändert: 11.4.2012 17:41:44 von hemiolos -
hemiolos schrieb:
Schon richtig, aber das wird bei allen Dateien anspringen, die irgendwo im Namen .bz2 haben. Beispiel: eine.bz2Datei
so wird es alle ordner unterhalb der vorgabe durchsuchen [...]
Um wirklich nur auf die Dateierweiterung zu prüfen müsstest du so etwas machen:<?php $path = realpath('./'); // das ist die path-vorgabe $res = array(); $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST); foreach ($objects as $file => $object) { $info = pathinfo($file); if(strtolower($info['extension']) == 'bz2') { echo "$file<br />"; $bz = bzopen($file, 'r') or die("Konnte $file nicht öffnen"); $tmp = null; while(!feof($bz)) $tmp .= bzread($bz, 4096); bzclose($bz); $res[] = $tmp; } } echo('<pre>' . htmlentities(print_r($res, true)) . '</pre>');
-
Schonmal danke, aber ich meinte es doch noch ein bisschien adners.
Auf einem Server liegt der Ordner x mit der Datei "abc.bz2" drin.
und auf meinem Server abspeichert
Hab mich vll nicht ganz klar ausgedrückt, aber die bz2 Datei liegt auf einem anderen Server, der nicht mir gehört. Dann wirds zum Problem, richtig? -
rate schrieb:
wie ist dein zugang zum server? (ftp, ssh ...)
... Dann wirds zum Problem, richtig? -
rate schrieb:
Schonmal danke, aber ich meinte es doch noch ein bisschien adners.
Auf einem Server liegt der Ordner x mit der Datei "abc.bz2" drin.
und auf meinem Server abspeichert
Hab mich vll nicht ganz klar ausgedrückt, aber die bz2 Datei liegt auf einem anderen Server, der nicht mir gehört. Dann wirds zum Problem, richtig?
Ja, man kann einen Server der einem nicht gehört nicht durchsuchen, allerdings kannst sämtliche Links der Seite durchcrawlen und nach der .bz2 suchen.
Ich habe keine Ahnung von PHP aber ich denke da wird dir schon jemand helfen können
hemiolos schrieb:
rate schrieb:
wie ist dein zugang zum server? (ftp, ssh ...)
... Dann wirds zum Problem, richtig?
Er hat gar keinen ;)
Beitrag zuletzt geändert: 13.4.2012 1:36:04 von infinitysounds -
hemiolos schrieb:
infinitysounds schrieb:
und in welcher zeile hat er dir das verraten? er sagt nur, dass er nicht wissen kann wo sein bz2 ist (aus welchem grund auch immer)[/quote]
... Er hat gar keinen ;)
rate schrieb:
Hab mich vll nicht ganz klar ausgedrückt, aber die bz2 Datei liegt auf einem anderen Server, der nicht mir gehört. Dann wirds zum Problem, richtig?
Bitte jetzt kein Streit, sonst wird das hier als Spamthema eingestuft, der arme rate und alle die ihm helfen wollen O.O
Beitrag zuletzt geändert: 13.4.2012 3:47:29 von infinitysounds -
Ich habe einen auf Lima-City und zuhause einen stehen... Aber wieso sollte ich dir meine Daten geben?
Das Problem ist, die Dateien sind nirgendwo verlinkt. Um es genauer zu beschreiben. In einem Programm kann man Quellen hinzufügen, dieses Programm benutzt die bz2 Dateien, in denen geschrieben ist, wo sich alle anderen Files befinden und verlinkt dadurch zu ihnen. Ich würde gerne eine Suche dazu machen, man fügt also eine url ein, und es sucht nach der bz2 Datei. -
rate schrieb:
niemand verlangt naach deinen daten.
... wieso sollte ich dir meine Daten geben?..., man fügt also eine url ein, und es sucht nach der bz2 Datei.
genau das macht der kode, was ich geschrieben habe. du solltest mal ausprobieren so, wie von hackyourlife modifiziert wurde. mehr ist nicht dazu zu sagen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage