Avatar billede kimox Nybegynder
31. juli 2003 - 20:08 Der er 25 kommentarer og
1 løsning

Slette billede?

Hej .. Jeg har følgende script:

<table cellpadding="0" cellspacing="0" width="100%">
<?
$dir = "enkelt/drenge/";
if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;
           
        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
  foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        ?>
<td align="center" width="25%">
<table cellpadding="0" cellspacing="0" align="center">
  <tr>
        <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"></td>
</tr>
<tr>
<center>
                                          <td class="tekst_normal">
                                            <div align="center">
                                              <?=$file?>
                                            </div>
                                          </td>
                                        </center>
</tr>
</table>
</td>

        <?
        if($td == 4) {echo "</tr>\n"; $td = 0;}
}
?>
</table>

Hvordan kan jeg gøre når den henter navnet på billedet at den så ikke tager ".jpg",".gif" osv med? .. og kan i lave så man man trykke slet lige efter navnet at den så sletter billede i mappen ?

Håber der er nogle der kan hjælpe?
Avatar billede rrm Nybegynder
31. juli 2003 - 20:18 #1
Til at slette med kan du lave et link, med noget ala href='side.php?action=delpic&name=navn, og så bruge unlink(path . name) til at fjerne det med.

Du kan bruge explode(".", $file) så får du et array opdelt af punktumerne (eks. test.gif giver array(test, gif)).
Avatar billede kimox Nybegynder
31. juli 2003 - 20:21 #2
kan du ikke lave det i mit script? det ville være helt perfekt.. er ikke den bedste til php endnu ://// ?
Avatar billede rrm Nybegynder
31. juli 2003 - 20:28 #3
Få filnavnet uden endelse: Kaldes ved GetFileName($file)
function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

Indsæt et link ved siden af filnavnet med href='side.php?action=delpic&name=$file

og indsæt følgende i topen af siden:
if($_GET["action"] == "delpic") {
if(file_exists($dir . $_Get["name"])) {
  @unlink($dir . $_Get["name"]);
  header("Location: side.php");
}
}
Avatar billede kimox Nybegynder
31. juli 2003 - 20:33 #4
function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

skal ind mellem her? :
<td align="center" width="25%">
<table cellpadding="0" cellspacing="0" align="center">
  <tr>
        <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"></td>
</tr>
<tr>
<center>
                                          <td class="tekst_normal">
                                            <div align="center">
                                              <?=$file?>
                                            </div>
                                          </td>
                                        </center>
</tr>
</table>
</td>

        <?
        if($td == 4) {echo "</tr>\n"; $td = 0;}
}
?>
</table>
Avatar billede kimox Nybegynder
31. juli 2003 - 20:35 #5
vil du ikke være sød og sætte det ind i mit script.. det ville være så perfekt :D!!
Avatar billede rrm Nybegynder
31. juli 2003 - 20:38 #6
nej, den kan du bare placere oppe i toppen af siden.

<?php

$dir = "enkelt/drenge/";

function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if($_GET["action"] == "delpic") {
if(file_exists($dir . $_Get["name"])) {
  @unlink($dir . $_Get["name"]);
  header("Location: side.php");
}
}

?>

<table cellpadding="0" cellspacing="0" width="100%">
<?

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;
           
        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
  foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        ?>
<td align="center" width="25%">
<table cellpadding="0" cellspacing="0" align="center">
  <tr>
        <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="[navnet på siden].php?action=delpic&name=<?php echo $file?>">Slet</a></td>
</tr>
<tr>
<center>
                                          <td class="tekst_normal">
                                            <div align="center">
                                              <?=$file?>
                                            </div>
                                          </td>
                                        </center>
</tr>
</table>
</td>

        <?
        if($td == 4) {echo "</tr>\n"; $td = 0;}
}
?>
</table>
Avatar billede kimox Nybegynder
31. juli 2003 - 20:46 #7
Den henter fint billeder og skriver slet osv. men når jeg trykker slet er det bare som om den opdatere siden og ikke gør noget ved det?

<?php

$dir = "enkelt/drenge/";

function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if($_GET["action"] == "delpic") {
if(file_exists($dir . $_Get["name"])) {
  @unlink($dir . $_Get["name"]);
  header("Location: test.php");
}
}

?>

<table cellpadding="0" cellspacing="0" width="100%">
<?

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;
           
        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
  foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        ?>
<td align="center" width="25%">
<table cellpadding="0" cellspacing="0" align="center">
  <tr>
        <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="test.php?action=delpic&name=<?php echo $file?>">Slet</a></td>
</tr>
<tr>
<center>
                                          <td class="tekst_normal">
                                            <div align="center">
                                              <?=$file?>
                                            </div>
                                          </td>
                                        </center>
</tr>
</table>
</td>

        <?
        if($td == 4) {echo "</tr>\n"; $td = 0;}
}
?>
</table>
Avatar billede rrm Nybegynder
31. juli 2003 - 20:49 #8
fjern @ foran unlink og sæt // foran header("...
Avatar billede rrm Nybegynder
31. juli 2003 - 20:49 #9
og fortæl mig hvad der så sker...
Avatar billede kimox Nybegynder
31. juli 2003 - 20:51 #10
så kommer den med "Warning: Unlink failed (Operation not permitted) in /usr/www/vix-mix_dk/public_html/drukland/test.php on line 18"
Avatar billede rrm Nybegynder
31. juli 2003 - 20:52 #11
der er fordi du ikke har retigheder til at slette filen.... Prøv at ændre chmod for mappen til 0777...
Avatar billede rrm Nybegynder
31. juli 2003 - 20:53 #12
@ betyder blot at evt fejl og advarelser ikke bliver skrevet ud...
Avatar billede kimox Nybegynder
31. juli 2003 - 20:56 #13
altså 0777 eller 077 eller 777 ?
Avatar billede rrm Nybegynder
31. juli 2003 - 20:58 #14
prøv 0777 først.. Retigheder er ikke min stærke side. :(
Avatar billede kimox Nybegynder
31. juli 2003 - 20:59 #15
0777 bliver bare lavet om til 777 - og den samme fejl er der stadig :/
Avatar billede kimox Nybegynder
31. juli 2003 - 21:00 #16
og forresten virker det med jpg heller ikke :////

<?php

$dir = "enkelt/drenge/";

function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if($_GET["action"] == "delpic") {
if(file_exists($dir . $_Get["name"])) {
  unlink($dir . $_Get["name"]);
  //header("Location: test.php");
}
}

?>

<table cellpadding="0" cellspacing="0" width="100%">
<?

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;
           
        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
  foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        ?>
<td align="center" width="25%">
<table cellpadding="0" cellspacing="0" align="center">
  <tr>
        <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="test.php?action=delpic&name=<?php echo $file?>">Slet</a></td>
</tr>
<tr>
<center>
                                          <td class="tekst_normal">
                                            <div align="center">
                                              <?=$file?>
                                            </div>
                                          </td>
                                        </center>
</tr>
</table>
</td>

        <?
        if($td == 4) {echo "</tr>\n"; $td = 0;}
}
?>
</table>
Avatar billede rrm Nybegynder
31. juli 2003 - 21:01 #17
Hvad for noget jpg??? Er ikke helt med.
Avatar billede rrm Nybegynder
31. juli 2003 - 21:02 #18
dooh, har lavet en lille fejl $_Get skal rettes til $_GET
Avatar billede kimox Nybegynder
31. juli 2003 - 21:04 #19
Ja sådan :D.. perfekt.. det med at den stadig skriver JPG bag efter file navn :)
Avatar billede rrm Nybegynder
31. juli 2003 - 21:06 #20
Hvor skriver du navnet på filen hende??? Der skal du blot kalde GetFileName funktionen....
Avatar billede kimox Nybegynder
31. juli 2003 - 21:09 #21
Jamen nu ser det sådan her ud:

<?php

$dir = "enkelt/drenge/";

function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if($_GET["action"] == "delpic") {
if(file_exists($dir . $_GET["name"])) {
  unlink($dir . $_GET["name"]);
  //header("Location: test.php");
}
}

?>

<table cellpadding="0" cellspacing="0" width="100%">
<?

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;
           
        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
  foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        ?>
<td align="center" width="25%">
<table cellpadding="0" cellspacing="0" align="center">
  <tr>
        <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"> - <a href="test.php?action=delpic&name=<?php echo $file?>">Slet</a></td>
</tr>
<tr>
<center>
                                          <td class="tekst_normal">
                                            <div align="center">
                                              <?=$file?>
                                            </div>
                                          </td>
                                        </center>
</tr>
</table>
</td>

        <?
        if($td == 4) {echo "</tr>\n"; $td = 0;}
}
?>
</table>

forstår ikke lige hvad du mener .P
Avatar billede rrm Nybegynder
31. juli 2003 - 21:11 #22
heh, havde ikke lige set der hvor du skriver filnavnet ud. Undskyld :(. Ret <?=$file?> til <?php echo GetFileName($file); ?>. Lige et tip, brug <?php i stedet for <?.
Avatar billede kimox Nybegynder
31. juli 2003 - 21:15 #23
ja det plejer jeg som regel os :).. men skulle bare lige lave dette som et test hurtigt.. men det virker jo perfekt.. så det kan jeg sagtens bruge.. tusind tusind tak for hjælpen.. det hele funker som det skal .. vil du ikke have points eller ? :))
Avatar billede rrm Nybegynder
31. juli 2003 - 21:17 #24
Det jeg da gerne. Det var lækkert at kunne hjælpe dig...
Avatar billede kimox Nybegynder
31. juli 2003 - 21:24 #25
det var os lækkert at der var en der gad/kunne ;D
Avatar billede kimox Nybegynder
31. juli 2003 - 21:31 #26
-lukket-
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