Avatar billede Slettet bruger
28. januar 2004 - 23:04 Der er 1 løsning

Script til at pakke billeder til zipfil bliver langsommere

Hej!

Jeg har et script her, som virker fint. Det er måske lidt rodet, og når jeg arbejder med f.eks. 500 billedfiler bliver det mærkbart langsommere, jo længere det kommer i processen med at pakke en zip-fil.

Har jeg overset noget i min programmering, eller belaster det PHP meget at håndtere de mange filer i hukommelsen?

<?
session_start();
include("pclzip.lib.php");
$zipnavn = "archive.zip";
$mappe = "varer/";
$antal_ad_gangen = 5;
$archive = new PclZip($zipnavn);

if(isset($_REQUEST['side'])) {
    $start = $_REQUEST['side'];
} else {
    $_SESSION['filer'] = "";
    @unlink($zipnavn);
    $handle = opendir($mappe);
    while (($fil = readdir($handle)) !== false) {
        if (($fil != "." && $fil != "..")) {
       
            if(is_dir($mappe . $fil)) {
            $_SESSION['filer'][] = $mappe . $fil . "/";
            } else {
            $_SESSION['filer'][] = $mappe . $fil;
            }
       
        }
}
$archive->create('');
$start = 0;
}

$antal_billeder = count($_SESSION['filer']);

echo "Samlet antal billeder der skal pakkes: " . $antal_billeder . "<br>Pakkes nu:<br>";
$i = $start;
while($i < $start+$antal_ad_gangen) {
    echo $_SESSION['filer'][$i] . "<br>";
    $archive->add($_SESSION['filer'][$i]);
    $i++;
}

if($antal_billeder > ($start+$antal_ad_gangen-1)) {
    $hvortil = ($start+$antal_ad_gangen);
} else {
    $hvortil = $antal_billeder;
}

echo "(Pakker billede " . ($start +1) . " - " . $hvortil . ")<br>" . round((($hvortil) / $antal_billeder * 100)) . " % færdig";
if(($start+$antal_ad_gangen) < $antal_billeder) {
?>
<script type="text/javascript">
location.href='test4.php?side=<? echo ($start+$antal_ad_gangen);?>';
</script>
<?
} else {
echo "<br>Pakning lykkedes, du kan nu downloade den pakkede zip-fil her: <a href=\"" . $zipnavn . "\">". $zipnavn . "</a>";
}
?>
Avatar billede Slettet bruger
03. februar 2004 - 08:43 #1
.
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