.zip datei im verzeichnis wird einfach nicht gefunden


#1
Ich bin am verzweifeln. Egal was ich mache es wird die .zip Datei die entpackt werden soll einfach nicht gefunden.

PHP:
// Variablen eintragen
$quelldatei = 'GRAPHIK1.ZIP'; // Name des ZIP-Archives
$zielordner = './test3/';  // Name des Zielverzeichnisses
// -------------------
  $zip = new ZipArchive;
  $res = $zip->open($quelldatei);
   if ($res === TRUE) {
     $zip->extractTo($zielordner);
     $zip->close();
      echo 'Das ZIP-Archiv <b>'.$quelldatei.'</b> wurde erfolgreich in das Verzeichnis <b>'.$zielordner.'</b> entpackt.';
   } else {
      echo 'Es ist ein Fehler beim Entpacken des ZIP-Archives aufgetreten!';
   }
Hat jemand eine Idee wieso.

Danke schon mal für eure Hilfe
 

basti1012

Erfahrenes Mitglied
#2
hast du das schon mal so versucht
Code:
$zielordner = '../test3/';
Ist der Pfad den soweit richtig ? Du könntest ja mal den Pfad von dem Script und von den Zielodner posten dann kann man mal kucken ob die Pfade zumindest stimmen
 
#3
Also
PHP:
$quelldatei = 'GRAPHIK1.ZIP'; // Name des ZIP-Archives
liegt im selben Verzeichnis wie das Script.
und soll in den ordner unterhalb des selben Verzeichnisses test3/ entpackt werden.

Und er gibt kein problem beim entpacken sondern das die Datei nicht gefunden wird.

Gruß ralf
 

basti1012

Erfahrenes Mitglied
#4
Dann schreib den namen mal richtig ..
Also ZIP GROß muß weg
und zip in klein muß da hin.
Die .zip Datei muss auch klein geschrieben sein ,, also das ende der .zip

Das muß so sein meines wissens
Code:
$zielordner = '../test3/';
Also 2 Punkte , ein Punkt nutzt man glaube ich bei Javascript und html. Aber da will ich jetzt nix falschen sagen , weil die Regel wann man 1 oder 2 Punkte nimmt kann ich jetzt auch nicht beschreiben.

Aber in diesen fall müßtens es 2 sein ,da bin ich mir fast 90% sicher
Zumindest geht es dann so bei mir.
PHP:
$quelldatei = 'aaa.zip'; // Name des ZIP-Archives
$zielordner = '../zip/';  // Name des Zielverzeichnisses
$da=file_exists($zielordner);
if($da==true){
   $lesbar=is_writable($zielordner);
   if($lesbar==true){
     $zip = new ZipArchive;
     $res = $zip->open($quelldatei);
     if ($res === TRUE) {
        $zip->extractTo($zielordner);
        $zip->close();
         echo 'Das ZIP-Archiv <b>'.$quelldatei.'</b> wurde erfolgreich in das Verzeichnis <b>'.$zielordner.'</b> entpackt.';
     } else {
         echo 'Es ist ein Fehler beim Entpacken des ZIP-Archives aufgetreten!';
     }
   }else{
       echo "Dein Ordner ist nicht beschreibbar";
   }
}else{
      echo "Den Zielorder gibt es nicht";
}
 
Zuletzt bearbeitet:

basti1012

Erfahrenes Mitglied
#6
@Sempervivum danke für den Link. Wenn ich das jetzt richtig verstanden habe, sind meine 2 Punkte hier richtig , genau so wie ein Punkt ?
Weil
PHP:
$quelldatei = 'GRAPHIK1.ZIP'; // Name des ZIP-Archives
liegt im selben Verzeichnis wie das Script.
und soll in den ordner unterhalb des selben Verzeichnisses test3/ entpackt werden.
Und er gibt kein problem beim entpacken sondern das die Datei nicht gefunden wird.
Gruß ralf
mit 2 Punkten geht man ein Verzeichniss zurück,egal wie das Verzeichniss heißen tut. Mit ein Punkt geht man auch zurück ,gibt aber den Namen des Verzeichniss mit ( test3 ). Oder habe ich es wieder falsch verstanden ?

Die relativen Pfade bekomme ich ja hin , nur mit den 1 oder 2 Punkte das verwirrt ein bischen noch
 

EuroCent

Erfahrenes Mitglied
#7
@basti1012 mit den 2 Punkten gehst du wie du selbst erkannt hast, einen Ordner zurück.
Mit einem Punkt, sagst Du nur dass er in diesem Verzeichnis verbleibt.

Beispiel: Du hast einen Ordner der wie folgt aufgebaut ist
"admin/test/test3/zips"
in der zips liegt dein Script.

Du möchtest nun aber auf ein Script, oder was auch immer aus einem anderen Ordner zugreifen...
Beispielsweise im Ordner test3
dann wie folgt: "../test3/DATEINAME"

Möchtest Du eine Datei aus dem Ordner test haben dann wie folgt:
"../../test/DATEINAME"

Mit dem einen Punkt meisten sieht es dann wie folgt aus:
"./zips/" oder auch "zips/" suchst du im gleichen Verzeichnis.

@promotionhouse.rs
Schau dir mal die Beispiele hier an: http://php.net/manual/de/ziparchive.open.php
 
#8
Es geht jetzt aber auch nicht ich habe eine Datei die geht da wird entpackt. wenn ich diese Datei nur unter anderen Name speichere im selben Ordner. findet er die .zip Datei wieder nicht.

bin mit meinen Latein am ende.
Gruß Ralf
 

EuroCent

Erfahrenes Mitglied
#9
Wenn Du debuggst was für eine Meldung bekommst du denn?
Außer die bisherige Fehlermeldung das er die ZIP nicht findet, ansonsten teste Ich es mal bei Mir :)
 

Sempervivum

Erfahrenes Mitglied
#10
Bei solchen Problemen ist Groß-/Kleinschreibung ein wichtiger Kandidat für die Fehlerursache. Windows ist es egal ob Du schreibst GRAPHIK1.ZIP oder graphik1.zip. Der Server unterscheidet es jedoch: Hast Du im Skript GRAPHIK1.ZIP stehen und die Datei heißt graphik1.zip wird sie nicht gefunden.
 

EuroCent

Erfahrenes Mitglied
#11
Das ist korrekt und sollte auch so sein :)
Man sollte bei der Datei Benennung immer überlegen wie man es schreibt :)

Dennoch ist es unklar warum bei ihm die Datei nicht gefunden wird.

Aber da könntest Du vollkommen richtig liegen. Wobei Windows nicht zwangsläufig egal ist wie die Datei heißt :)
Auch Windows arbeitet Casesensitiv aber nicht so genau wie es dass sollte, daher fällt es einem nicht so direkt auf.

Wie dem auch sei, er sollte es mal testen mit klein und nur Großbuchstaben und prüfen welches er erkennt ;)