Avatar billede majbom Novice
19. juni 2007 - 12:13 Der er 9 kommentarer og
2 løsninger

problemer med unzip-script

hej experter

jeg har fundet følgende script:

<?
$folderName = substr($_FILES['Filedata']['name'],0,-4);
$folderPath = "test/";
if(move_uploaded_file($_FILES['Filedata']['tmp_name'],$folderPath.$_FILES['Filedata']['name'])){
  $zip = zip_open($folderPath.$_FILES['Filedata']['name']);
  mkdir($folderPath.$folderName);
  if($zip !== false) {
      while ($zip_entry = zip_read($zip)) {
        if (zip_entry_open($zip, $zip_entry, "r")) {
            $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
            $fp = fopen($folderPath."/".zip_entry_name($zip_entry),"w");
            fwrite($fp,$buf);
            zip_entry_close($zip_entry);
        }
        echo "\n";
      }
  }
}else{
  echo "zip file could not be found!";
}
?>

men jeg kan ikke få det til at virke.
jeg får følgende fejl:

Warning: fopen(test//fil/) [function.fopen]: failed to open stream: Is a directory in /domains/www.nyform-sport.dk/www/site/info.php on line 11

Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 1312 is not allowed to access /domains/www.nyform-sport.dk/www/site/test/fil owned by uid 33 in /domains/www.nyform-sport.dk/www/site/info.php on line 11

nogle der kan hjælpe med sådan én?
Avatar billede jakobdo Ekspert
19. juni 2007 - 14:42 #1
Første fejl her:
Warning: fopen(test//fil/) [function.fopen]: failed to open stream: Is a directory in
Der kunne jo jo lave en test på "stien": $folderPath."/".zip_entry_name($zip_entry),"w"
Og kontrollere:
is_dir() eller is_file()
fopen kan ikke åbne et dir.
Avatar billede majbom Novice
20. juni 2007 - 08:20 #2
hmm, som jeg forstår scriptet burde det åbne mappen og skrive filerne til den?

men da fopen ikke kan åbne en mappe, må jeg jo tage fejl.
men så forstår jeg ikke hvordan det skal kunne pakke en zip-fil ud..
Avatar billede jakobdo Ekspert
20. juni 2007 - 08:51 #3
Dette ser også mærkeligt ud:

fopen(test//fil/)

Har du et "tomt" filnavn?
Avatar billede majbom Novice
20. juni 2007 - 09:03 #4
nej jeg forstår det heller ikke... jeg tror jeg dropper det script :)

du kan smide et svar, så deler vi pointene :)
Avatar billede majbom Novice
20. juni 2007 - 09:16 #5
du kan osse lige kigge på det jeg har gang i nu, hvis du gider jakob :)

jeg får denne fejl:
"Warning: file_put_contents() [function.file-put-contents]: SAFE MODE Restriction in effect. The script whose uid is 1312 is not allowed to access /domains/www.nyform-sport.dk/www/site/test/fil owned by uid 33 in /domains/www.nyform-sport.dk/www/site/dunzip2/dUnzip2.inc.php on line 291"

det script jeg kører opretter mappen "fil", så jeg kan ikke forstå hvorfor selv samme script ikke må skrive til den..?
Avatar billede jakobdo Ekspert
20. juni 2007 - 09:20 #6
Svar!

Ja, det er noget skidt.
php opretter filen med en ejer.
Og når den så forsøger senere at læse filen, så har den ikke de rigtige rettigheder.
Måske du kunne ændre det ved, at oprette filen "fil" manuelt og chmod den til 777.
Avatar billede majbom Novice
20. juni 2007 - 09:44 #7
"fil" er jo en mappe der bliver oprettet af scriptet, da zip-filen hedder "fil". det samme script vil så oprette filerne fra zipfilen i mappen som den netop har oprettet, men det må den ikke, det er det jeg ikke forstår...
Avatar billede majbom Novice
20. juni 2007 - 09:48 #8
og mappen fil er chmodded til 777, så det er jo heller ikke det der er problemet
Avatar billede jakobdo Ekspert
20. juni 2007 - 10:14 #9
Så ved jeg desværre ikke hvad der kan gøres. beklager.
Avatar billede majbom Novice
20. juni 2007 - 15:13 #10
nej det gør jeg heller ikke.. jeg lukker og ser om jeg kan finde noget andet...
Avatar billede jakobdo Ekspert
20. juni 2007 - 15:19 #11
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester