Avatar billede cbennike Nybegynder
05. april 2004 - 18:47 Der er 7 kommentarer og
1 løsning

sortering af filer på DATO

Detox -->
Se spørgsmålet her:
http://www.eksperten.dk/spm/440618
Avatar billede cbennike Nybegynder
05. april 2004 - 18:57 #1
<?
// Her kommer funktionerne med at liste alle billeder op og mulighed for at slette både "original" billedet og "thumb_original"...
// Der er sat to variabler i starten af scriptet $pr_raekke og $dir


if (isset($_GET['fil'])) {
    $thumb = $_GET['fil'];
  $pic = substr($thumb, 6);
        if (unlink($dir.$pic)) {
     
        echo "<font size='5'> Slettet! </font><br>";
        echo "Billedet <b>" . $pic ." </b> blev slettet <br>&<br> ";
    }
    if (unlink($dir.$thumb)) {
        echo "Billedet <b>" . $thumb."</b> blev slettet <br><br>";
    }

echo "<a href=" . $_SERVER['PHP_SELF'] . "><font size='5'>Klik her for at komme retur </font></a>";

} else {
    $file_arr = Get_Imgs($dir);
    $antal_filer = count($file_arr);
    echo "<table border='1' width ='90%' bordercolor='#dcdcdc'>\n"; //Farve på den yderste border
    for ($i=0;$i<$antal_filer;$i++) {
        if ($i%$pr_raekke == 0) echo "<tr>\n";
        echo "<td bordercolor='#000000'>"; //farve på den inderste border
        echo "<a href='".$_SERVER['PHP_SELF']."?fil=".$file_arr[$i]."' onClick=\"return confirm ('Er du sikker på, at du vil slette billedet  \'" . $file_arr[$i] . " \' ?');\"><b>Slet dette billede:<br></b>";
        echo "<img border='0' alt='". $file_arr[$i] ."' src='". $dir.$file_arr[$i] ."' /></a><br>";
        echo "<font size='1'>". $file_arr[$i]."</font><br>";
       
        if ($i%$pr_raekke == $pr_raekke-1) echo "</tr>\n";
    }
    if ($i%$pr_raekke != 0) echo "</tr>\n";
    echo "</table>\n";
}
function Get_Imgs($dir) {
    $allowed = array('jpg', 'png', 'gif', 'jpeg');
    $d = dir($dir);
    while($entry = $d->read()) {
        if (!is_dir($entry)) {
            $pi = pathinfo($entry);
            if (isset($pi['extension']) && in_array($pi['extension'], $allowed) && substr($entry,0,6) == "thumb_") {
                $files[] = $entry;
            }
        }
    }
$d->close();
return $files;
}

echo "</font>";
?>
Avatar billede cbennike Nybegynder
05. april 2004 - 19:01 #2
//Den mappe som 'slet funtionen' skal kigge i './' er den mappe dette script ligger i. Denne variablel er kun til slet funktionen.
$dir = "./";               
//********

//Hvor mange billeder pr række skal der vises?
$pr_raekke = 5;
//********
Avatar billede cbennike Nybegynder
05. april 2004 - 19:02 #3
glem mine kommentarer. De var ment til mig selv
Avatar billede detox Nybegynder
05. april 2004 - 20:04 #4
Måske med en ekstra funktion:


if (isset($_GET['fil'])) {
    $thumb = $_GET['fil'];
  $pic = substr($thumb, 6);
        if (unlink($dir.$pic)) {
   
        echo "<font size='5'> Slettet! </font><br>";
        echo "Billedet <b>" . $pic ." </b> blev slettet <br>&<br> ";
    }
    if (unlink($dir.$thumb)) {
        echo "Billedet <b>" . $thumb."</b> blev slettet <br><br>";
    }

echo "<a href=" . $_SERVER['PHP_SELF'] . "><font size='5'>Klik her for at komme retur </font></a>";

} else {
    $file_arr = Get_Imgs($dir);
    $file_arr = Sort_Time($file_arr, $dir);
    $antal_filer = count($file_arr);
    echo "<table border='1' width ='90%' bordercolor='#dcdcdc'>\n"; //Farve på den yderste border
    for ($i=0;$i<$antal_filer;$i++) {
        if ($i%$pr_raekke == 0) echo "<tr>\n";
        echo "<td bordercolor='#000000'>"; //farve på den inderste border
        echo "<a href='".$_SERVER['PHP_SELF']."?fil=".$file_arr[$i]."' onClick=\"return confirm ('Er du sikker på, at du vil slette billedet  \'" . $file_arr[$i] . " \' ?');\"><b>Slet dette billede:<br></b>";
        echo "<img border='0' alt='". $file_arr[$i] ."' src='". $dir.$file_arr[$i] ."' /></a><br>";
        echo "<font size='1'>". $file_arr[$i]."</font><br>";
     
        if ($i%$pr_raekke == $pr_raekke-1) echo "</tr>\n";
    }
    if ($i%$pr_raekke != 0) echo "</tr>\n";
    echo "</table>\n";
}
function Sort_Time($arr, $dir) {
    foreach($arr as $file) {
        $time[] = filemtime($dir.$file);
    }
    arsort($time);
    foreach($time as $key => $val) {
        $files[] = $arr[$key];
    }
    return $files;
}
function Get_Imgs($dir) {
    $allowed = array('jpg', 'png', 'gif', 'jpeg');
    $d = dir($dir);
    while($entry = $d->read()) {
        if (!is_dir($entry)) {
            $pi = pathinfo($entry);
            if (isset($pi['extension']) && in_array($pi['extension'], $allowed) && substr($entry,0,6) == "thumb_") {
                $files[] = $entry;
            }
        }
    }
$d->close();
return $files;
}
Avatar billede cbennike Nybegynder
05. april 2004 - 21:02 #5
Det ser rigtig fint ud. Du skriver "Måske med en ekstra funktion:" Hvad mener du med det ?
Noget specielt?

Man kan den ikke skrive
"Billedet PICT0060.jpg blev slettet
&
Billedet thumb_PICT0060.jpg blev slettet"

og så loade siden nedenunder?
Kan man det?
Avatar billede detox Nybegynder
05. april 2004 - 21:50 #6
Ja, jeg tilføjede funktionen: Sort_Time(). Prøv at fjerne else betingelsen. Sådan her:


if (isset($_GET['fil'])) {
    $thumb = $_GET['fil'];
  $pic = substr($thumb, 6);
        if (unlink($dir.$pic)) {
 
        echo "<font size='5'> Slettet! </font><br>";
        echo "Billedet <b>" . $pic ." </b> blev slettet <br>&<br> ";
    }
    if (unlink($dir.$thumb)) {
        echo "Billedet <b>" . $thumb."</b> blev slettet <br><br>";
    }

echo "<a href=" . $_SERVER['PHP_SELF'] . "><font size='5'>Klik her for at komme retur </font></a>";

}
    $file_arr = Get_Imgs($dir);
    $file_arr = Sort_Time($file_arr, $dir);
    $antal_filer = count($file_arr);
    echo "<table border='1' width ='90%' bordercolor='#dcdcdc'>\n"; //Farve på den yderste border
    for ($i=0;$i<$antal_filer;$i++) {
        if ($i%$pr_raekke == 0) echo "<tr>\n";
        echo "<td bordercolor='#000000'>"; //farve på den inderste border
        echo "<a href='".$_SERVER['PHP_SELF']."?fil=".$file_arr[$i]."' onClick=\"return confirm ('Er du sikker på, at du vil slette billedet  \'" . $file_arr[$i] . " \' ?');\"><b>Slet dette billede:<br></b>";
        echo "<img border='0' alt='". $file_arr[$i] ."' src='". $dir.$file_arr[$i] ."' /></a><br>";
        echo "<font size='1'>". $file_arr[$i]."</font><br>";
   
        if ($i%$pr_raekke == $pr_raekke-1) echo "</tr>\n";
    }
    if ($i%$pr_raekke != 0) echo "</tr>\n";
    echo "</table>\n";

function Sort_Time($arr, $dir) {
    foreach($arr as $file) {
        $time[] = filemtime($dir.$file);
    }
    arsort($time);
    foreach($time as $key => $val) {
        $files[] = $arr[$key];
    }
    return $files;
}
function Get_Imgs($dir) {
    $allowed = array('jpg', 'png', 'gif', 'jpeg');
    $d = dir($dir);
    while($entry = $d->read()) {
        if (!is_dir($entry)) {
            $pi = pathinfo($entry);
            if (isset($pi['extension']) && in_array($pi['extension'], $allowed) && substr($entry,0,6) == "thumb_") {
                $files[] = $entry;
            }
        }
    }
$d->close();
return $files;
}
Avatar billede cbennike Nybegynder
05. april 2004 - 22:15 #7
Jamen dog jamen! Det er meget fint  - tak for hjælpen. Smid et svar ;-)
Avatar billede detox Nybegynder
05. april 2004 - 23:14 #8
Velbekommen c",)
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