jonnyhar Skrevet 22. oktober 2005 Skrevet 22. oktober 2005 Jeg har en ganske stor zip fil på en ftpserver som jeg ikke har lyst til å laste ned for å unzippe. Finnes det noen metode for å unzippe den på serveren?
gather Skrevet 23. oktober 2005 Skrevet 23. oktober 2005 Da må du nok bruke php eller et annet serverside språk med mindre du har tilgang til serveren med terminalklient eller noe.
pgdx Skrevet 23. oktober 2005 Skrevet 23. oktober 2005 Hvis du har SSH-tilgang, logger du deg bare på, finner frem til banen og kjører "unzip filnavn.zip". Eventuelt kan du prøve å kjøre et script i PHP, men vet ikke hvordan det skal gå... Blir noe ala dette <?php exec "unzip /home/brukernavn/bane/til/filnavn.zip"; ?>
rødøye Skrevet 23. oktober 2005 Skrevet 23. oktober 2005 (endret) Det som skjer hvis du kjører kommandoen via PHP, er at brukeren webserveren (Apahche) kjører som blir satt som eier av filene. Da må du chmode alle filene etterpå, enten i samme script, eller et annet script. <?php exec ('chmod 777 {mappenavn} -R'); ?> edit: feil forum... Endret 23. oktober 2005 av rødøye
zokra Skrevet 23. oktober 2005 Skrevet 23. oktober 2005 Du kan bruke denne funskjonen: function Unzip($zipfile, $TargetDir='temp'){ if(!is_dir($TargetDir)){ echo 'Målet finnes ikke!!'; } $TargetDir = str_replace('\\', '/', realpath($TargetDir)).'/'; if($zip = zip_open(realpath($zipfile))){ if ($zip) { 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)); $filename = $file['name'] = ereg_replace("[^a-z0-9._]", "", str_replace(" ", "_", str_replace("%20", "_", strtolower(zip_entry_name($zip_entry))))); $handle = fopen($TargetDir.$filename, 'a'); fwrite($handle, $buf); fclose($handle); $files = $files.$filename.'|'; zip_entry_close($zip_entry); } } zip_close($zip); } if(substr($files, -1) == '|'){ $files = substr($files, 0, -1); } $what['mime']; return array(TRUE, $files); }else{ return array(FALSE, 'Can\'t Open Zip File!s'); } } Eksempel: Unzip('zipfil', 'mappe')
kakkle Skrevet 23. oktober 2005 Skrevet 23. oktober 2005 Krever dòg at php er kompilert med ZIP støtte(ZZipLib). Har følelsen av at det er få webhoster som har dette. Men funker skikkelig bra dersom det er tilgjengelig.
ReVolvolution Skrevet 23. oktober 2005 Skrevet 23. oktober 2005 Gjør det i kontrollpanel på webserveren. Jeg gjør dette fint via webshell 4 eller Hsphere
jonnyhar Skrevet 23. oktober 2005 Forfatter Skrevet 23. oktober 2005 Du kan bruke denne funskjonen: function Unzip($zipfile, $TargetDir='temp'){ if(!is_dir($TargetDir)){ echo 'Målet finnes ikke!!'; } $TargetDir = str_replace('\\', '/', realpath($TargetDir)).'/'; if($zip = zip_open(realpath($zipfile))){ if ($zip) { 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)); $filename = $file['name'] = ereg_replace("[^a-z0-9._]", "", str_replace(" ", "_", str_replace("%20", "_", strtolower(zip_entry_name($zip_entry))))); $handle = fopen($TargetDir.$filename, 'a'); fwrite($handle, $buf); fclose($handle); $files = $files.$filename.'|'; zip_entry_close($zip_entry); } } zip_close($zip); } if(substr($files, -1) == '|'){ $files = substr($files, 0, -1); } $what['mime']; return array(TRUE, $files); }else{ return array(FALSE, 'Can\'t Open Zip File!s'); } } Eksempel: Unzip('zipfil', 'mappe') 5047864[/snapback] Fatal error: Call to undefined function: zip_open() in /usr/local/psa/home/vhosts/haraldso.com/httpdocs/gamle/zip.php on line 7 Funker nok desverre ikke..
simenss Skrevet 24. oktober 2005 Skrevet 24. oktober 2005 Du er på jakt etter denne funksjonen. Bruker den selv
Magnus Holm Skrevet 24. oktober 2005 Skrevet 24. oktober 2005 Krever dòg at php er kompilert med ZIP støtte(ZZipLib). Har følelsen av at det er få webhoster som har dette. Men funker skikkelig bra dersom det er tilgjengelig. 5048401[/snapback] Fatal error: Call to undefined function: zip_open() in /usr/local/psa/home/vhosts/haraldso.com/httpdocs/gamle/zip.php on line 7Funker nok desverre ikke.. 5050405[/snapback]
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå