Avatar billede cbennike Nybegynder
16. december 2003 - 14:57 Der er 17 kommentarer og
1 løsning

slette et billede en mappe

Er der ikek nogen der kan hjælpe mig med et script der skal:
vise billederne i mappen 'galleri'. Det skal kun være de filer der starter med 'thumb_' og så skal der være et "slet" link ved siden af.
således at man kan klikke på linket slet og slette det billede ved siden.

Hvis det kan hjælpe er det er kun .png - .jpg - .gif billeder der findes i mappen.

Håber at der nogen der kan hjælpe med de funktioner.
Avatar billede cbennike Nybegynder
16. december 2003 - 14:59 #1
og hvis man klikke på 'slet linket' til billedet der hedder 'thumb_picture123.jpg' skal scriptet også slette billedet "picture123.jpg" - altså billednavnet bare uden uden 'thumb_'
Avatar billede detox Nybegynder
16. december 2003 - 15:47 #2
Prøv den her:

<?
$dir = "galleri/"; // Mappe med billeder
if (isset($_GET['fil'])) {
    $thumb = $_GET['fil'];
    $pic = substr($thumb, 6);
    if (unlink($dir.$thumb)) {
        echo $thumb." er slettet.<br />";
    }
    if (unlink($dir.$pic)) {
        echo $pic." er slettet.<br />";
    }

} else {
    $file_arr = Get_Imgs($dir);
    $antal_filer = count($file_arr);
    for ($i=0;$i<$antal_filer;$i++) {
        echo "<img src='".$dir.$file_arr[$i]."' />";
        echo "<a href='".$_SERVER['PHP_SELF']."?fil=".$file_arr[$i]."'>Slet</a><br />";
    }
}
function Get_Imgs($dir) {
    $allowed = array('jpg', 'png', 'gif');
    $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
16. december 2003 - 16:08 #3
Det ser ud til at være det jeg har brug men...jeg får denne fejl

Warning: OpenDir: No such file or directory (errno 2) in /home/sites/site209/web/galleri/delete.php on line 23

Fatal error: Call to a member function on a non-object in /home/sites/site209/web/galleri/delete.php on line 24
Avatar billede detox Nybegynder
16. december 2003 - 16:11 #4
Ok, som jeg ser det kører du scriptet direkte fra mappen 'galleri'. Så skal du ændre $dir. Prøv med:

$dir = "./"; // Mappe med billeder
Avatar billede cbennike Nybegynder
16. december 2003 - 16:18 #5
Der ser bare ud til at virke ! Skide godt! Takker og bukker smid et svar skal du få point...Senere i aften Gotta go
Avatar billede detox Nybegynder
16. december 2003 - 16:20 #6
Bare i orden. Velbekommen c",)
Avatar billede cbennike Nybegynder
16. december 2003 - 23:13 #7
Jeg har ikke lige haft tid til at teste på det. Håber det er o kat jeg lige gør det. Er til bage i morgen
Avatar billede detox Nybegynder
16. december 2003 - 23:19 #8
Du tester bare, jeg tror det fungerer som det skal ;o)
Avatar billede cbennike Nybegynder
17. december 2003 - 12:30 #9
Der er jo ikke en finger at sætte nogle steder. Det skulel da lige være hvis man kunne liste billederne pænt op ved siden af hinanden...i tabeller.

Kan man det ( har prøvet lidt men kan ikek få det til at ligne noget...)
Avatar billede cbennike Nybegynder
17. december 2003 - 20:09 #10
Nogen bud? Og detox pointene er dine 100%

Lader bare lige spørgsmålet stå åben for evt. forslag :-)
Avatar billede detox Nybegynder
18. december 2003 - 01:27 #11
Her er et forslag til en tabel. Du skal sætte antal billeder pr række øverst i scriptet:

<?
$dir = "./";                // Mappe med billeder
$pr_raekke = 3;                // billeder pr række
if (isset($_GET['fil'])) {
    $thumb = $_GET['fil'];
    $pic = substr($thumb, 6);
    if (unlink($dir.$thumb)) {
        echo $thumb." er slettet.<br />";
    }
    if (unlink($dir.$pic)) {
        echo $pic." er slettet.<br />";
    }

} else {
    $file_arr = Get_Imgs($dir);
    $antal_filer = count($file_arr);
    echo "<table>\n";
    for ($i=0;$i<$antal_filer;$i++) {
        if ($i%$pr_raekke == 0) echo "<tr>\n";
        echo "<td><img src='".$dir.$file_arr[$i]."' /><br />";
        echo "<a href='".$_SERVER['PHP_SELF']."?fil=".$file_arr[$i]."'>Slet</a></td>\n";
        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');
    $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
18. december 2003 - 09:46 #12
Dear mr detox. Mange tak for hjælpen pointene er selvfølgelige dine!

Tak
Avatar billede detox Nybegynder
18. december 2003 - 10:43 #13
Velbekommen c",)
Avatar billede cbennike Nybegynder
05. april 2004 - 09:25 #14
Mr Detox ? Jeg kunne egentlig godt tænke mig at disse filer blev listet op efter d dato de er blevet lagt i mappen. Kan det lade sig gøre? Hvis du lige skriver her skal jeg oprette et spørgsmål til dig med 100 p...
Avatar billede cbennike Nybegynder
05. april 2004 - 09:35 #15
med de nyeste først
Avatar billede detox Nybegynder
05. april 2004 - 18:27 #16
Lægger du et link til spørgsmålet her?
Avatar billede cbennike Nybegynder
05. april 2004 - 18:48 #17
Det kan du tro at jeg gør!
http://www.eksperten.dk/spm/440618
Avatar billede cbennike Nybegynder
05. april 2004 - 18:49 #18
MIN FEJL! (Sorry)
Rigtige link kommer her:
http://www.eksperten.dk/spm/486200
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