Avatar billede duuink Nybegynder
25. oktober 2006 - 18:06 Der er 9 kommentarer og
1 løsning

udpakning af zip fil efter opload

hej derude

Jeg har stort set kigget alle forums igennem nu, men har endnu ikke fundet ud af hvordan man laver således at en zipfil bliver pakket ud i PHP. jeg har et system hvor man kan oploade billed-filer men også zipfiler. man oploader kun en enkelt fil, derefter skal filen sorteres efter om det er en billed eller zip-fil, hvis det er en billedfil skal den blot oploades til mappen, hvis det så er en zip-fil skal den pakkes ud og filerne inde i zip-filen skal ligges ud i samme mappe, derefter skal zipfilen slettes.



Jeg har skrevet dette indtil videre men er gået i stå:

<?
if(isset($_GET["upload"])){
?>
<tr>
<td style="background-color: #f4f4ed;" width="550" colspan="1" align="center">
<font class="small">
<br>
<?
foreach($_FILES as $file_name => $file_array) {
if ( ($file_array['type'] == 'image/jpeg') || ($file_array['type'] == 'image/pjpeg') || ($file_array['type'] == 'image/jpg') && ($file_array['size'] <= 71680) ){
                           
echo "sti:&nbsp;".$file_array['tmp_name']."<br>\n";
echo "navn:&nbsp;".$file_array['name']."<br>\n";
echo "type:&nbsp;".$file_array['type']."<br>\n";
echo "st&oslash;rrelse:&nbsp;". round($file_array['size']/1024)."&nbsp;kb <br>\n";
                           
                           
if (is_uploaded_file($file_array['tmp_name']))  {
$nyfilnavn = ereg_replace(" ", "_", $file_array['name']);
                               
                                move_uploaded_file($file_array['tmp_name'] ,"$file_dir2/$nyfilnavn") or die ("En fejl opstod i at overføre billedfilen - prøv igen :-D ");
                                    echo "filen er overført!<br><br>";
}
} else if($file_array['type'] == 'application/zip'){
if (is_uploaded_file($file_array['tmp_name']))  {
                                $nyfilnavn = ereg_replace(" ", "_", $file_array['name']);
                                move_uploaded_file($file_array['tmp_name'] ,"$file_dir2/$nyfilnavn") or die ("En fejl opstod i at overføre zipfilen");
                               
                                //unzipning start
/*
                                Her skal zip-filen udpakkes og filerne skal ligges i mappen $file_dir2, derefter skal zipfilen slettes
                               
                               
*/
                            //unzipning slut
}
} else {
echo " det er ikke en JPG-billed-fil men en:&nbsp;" . $file_array['type'] . "-fil";
}
echo '<a href="index.php?site=billeder&galleri=' .$galleriside . '">opdater siden</a>';
}   
?>
        </font>
    <br>
    </td>
</tr>
           
<?
}
?>

Håber i forstår spørgsmålet

/Thomas
Avatar billede mccookie Seniormester
25. oktober 2006 - 18:23 #1
Lytter, det virker interessant ;)
Avatar billede udvikler Nybegynder
25. oktober 2006 - 18:46 #2
Avatar billede udvikler Nybegynder
25. oktober 2006 - 18:49 #3
Avatar billede udvikler Nybegynder
25. oktober 2006 - 18:50 #4
og her er en hel masse: http://www.angorasoftware.com/zip/
Avatar billede udvikler Nybegynder
25. oktober 2006 - 19:27 #5
Kan du finde ud af det?
Avatar billede duuink Nybegynder
25. oktober 2006 - 19:36 #6
nej ikke rigtig, jeg har indsat følgende i det manglende felt :


                                if(!defined('UNZIP_CMD')) define('UNZIP_CMD','unzip -o @_SRC_@ -x -d
@_DST_@');
function UnzipAllFiles($nyfilnavn,$file_dir2) {
$unzipCmd=UNZIP_CMD;
$unzipCmd=str_replace('@_SRC_@',$nyfilnavn,$unzipCmd);
$unzipCmd=str_replace('@_DST_@',$file_dir2,$unzipCmd);
$res=-1; // any nonzero value
$UnusedArrayResult=array();
$UnusedStringResult=exec($unzipCmd,$UnusedArrayResult,$res);
return ($res==0);
}
                                  $result=UnzipAllFiles($nyfilnavn,$file_dir2);
  if($result===FALSE){
    echo 'FAILED';
  } else {
    echo 'SUCCESS';
  }

men den siger failed hver gang
Avatar billede udvikler Nybegynder
25. oktober 2006 - 19:39 #7
sikker på at det er samme type i denne linie?
if($result===FALSE){

måske skal der kun stå = to gange ?
Avatar billede udvikler Nybegynder
25. oktober 2006 - 19:46 #8
og ellers må jeg lige spørge hvad der sker i din øverste if sætning? Hvor er { og } ?
Avatar billede duuink Nybegynder
25. oktober 2006 - 19:46 #9
det er ligegyldigt.
det ændrer jo heller ikke på at funktionen ikke virker
Avatar billede duuink Nybegynder
18. april 2007 - 16:29 #10
lukker
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