---
title: "ta bort bilder från mapp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/140543-ta-bort-bilder-från-mapp"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mr.mainline"
published: "2006-01-08T18:15:17.000Z"
updated: "2006-01-13T20:44:06.000Z"
replies: 25
views: 1184
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/140543-ta-bort-bilder-från-mapp"
---

# ta bort bilder från mapp

_Sida 1 av 2._

## #1 — mr.mainline, 2006-01-08T18:15Z

Har ett skript som listar alla bilder från en mapp, och nu vill jag kunna ta bort valda bilder från mappen med en länk under varje bild(Ta bort), så här ser skriptet ut som listar bilderna i mappen.

```php
<?php
$mappnamn = '../_upload'; 
$visa=opendir($mappnamn); 
    while($fil=readdir($visa)){ 
        if(!($fil=="."||$fil=="..")){ 
        echo "<p>"."Fil namn för bilden nedan"."<br>"."<b>".$fil ."</b></p><br>";
		echo "<img src='$mappnamn/$fil' >";
		echo"<p><a href='tabort.php'>Ta bort denna bild?</a></p>"; 
		echo"<hr size='1'>";
        } 
    } 
	

closedir($visa); 

?>
```

och filen som ska ta bort valda bilder ser ut så här.

```php
<?php 
$visa = unlink($fil); 
 
if ($visa){ 
   echo 'filen är nu borttagen'; 
} 
else{ 
   echo 'Något fel har uppstått. Filen kan inte tas bort'; 
} 
?>
```

jag får ett felmeddelande "Unable to access in.... "

Permalänk: https://www.webforum.nu/p/140543

## #2 — jme, 2006-01-08T20:26Z

Jag tror du måste ange en komplett sökväg till unlink

Permalänk: https://www.webforum.nu/p/1743765

## #3 — Matte, 2006-01-08T21:05Z

Mem hur får du värdet på $fil i ditt skript för att ta bort filen ?
Du skickar ju inget med länken.

Det vore också bra om du kunde visa det fullständiga felmeddelandet.

Permalänk: https://www.webforum.nu/p/1743787

## #4 — mr.mainline, 2006-01-08T21:48Z

ok,men hur ska det se ut då?
detta är felmeddelandet"Warning: unlink() \[function.unlink\]: Unable to access in /customers/min_domän.se/min_domän.se/httpd.www/\_admin/tabort.php on line 9
Något fel har uppstått. Filen kan inte tas bort "

Permalänk: https://www.webforum.nu/p/1743818

## #5 — jme, 2006-01-08T21:52Z

Som jag tidigare skrev så pröva med att ange kompletta sökvägen för filen som du skall radera:

unlink("/customers/min_domän.se/min_domän.se/httpd.www/\_upload/" . $fil);

Jag kan ha skrivit fel sökväg.
Kontrollera sökvägen. Är du osäker kan du alltid testa med file_exists() innan du kör med unlink så att du inte raderar fel fil. :)

Permalänk: https://www.webforum.nu/p/1743821

## #6 — jme, 2006-01-08T21:53Z

Kom även ihåg att ifall du senare vill även radera katalogen så måste du eventuellt köra closedir() innan rmdir().

Bara som en liten reminder (du har closedir i din kod, dock). :)

Permalänk: https://www.webforum.nu/p/1743824

## #7 — Matte, 2006-01-08T22:48Z

Vad jag kan se så verkar du inte ha något värde på $fil.
Hur får du ett värde på $fil i skriptet? Jag kan inte se att du skickar något med länken.

Det kanske är så att din länk ska se ut så här:

```php
echo"<p><a href='tabort.php?fil=$fil'>Ta bort denna bild?</a></p>";
```

Och sedan i ditt tabort-skript:

```php
unlink("/customers/min_domän.se/min_domän.se/httpd.www/_upload/" . $_GET['fil']);

//Alternativt relativ sökväg
unlink("../_upload/" . $_GET['fil']);
```

Permalänk: https://www.webforum.nu/p/1743900

## #8 — mr.mainline, 2006-01-11T20:15Z

har testat,med båda sökvägarna, med får upp "Filen existrerar inte" fast skriptet, "tabort.php" tar bort filen.+ att den skriver inte ut filnamnet,som det ska funkar så ska det stå"filen **$fil** existerar och är borttagen".
jag kör detta innan unlink()

```php
 if (file_exists($fil)) {
   echo "filen $fil existerar och är borttagen";
} else {
   echo "Filen $fil existerar inte ";
}
```

Permalänk: https://www.webforum.nu/p/1745028

## #9 — jme, 2006-01-11T20:43Z

Jag kör med full sökväg när jag använder unlink() och det fungerar för mig.
Är du \_HELT\_ säker på att sökvägen är korrekt?

pröva med file_exists($fil) och se om den returnerar true.

Vad har du i $fil ?

Permalänk: https://www.webforum.nu/p/1745048

## #10 — mr.mainline, 2006-01-11T21:10Z

$fil innehåller filnamnet.
Jag har webbhotell B-one så står det så här :"UNIX PATH
/customers/dindomän.se/dindomän.se/httpd.www/

 "så har jag skrivit in min egen domän där det står"dindomän.se

```php
$mappnamn = '_upload'; 
$visa=opendir($mappnamn); 
    while($fil=readdir($visa)){ 
        if(!($fil=="."||$fil=="..")){ 
		
		
       echo "<p>"."Fil namn för bilden nedan"."<br>"."<b>".$fil ."</b></p><br>";
		echo "<img src='$mappnamn/$fil' ><br><p><a href='tabort.php?fil=$fil'>Ta bort denna bild?</a></p><hr size='1'>";
		
        } 
    } 
closedir($visa);
```

Permalänk: https://www.webforum.nu/p/1745068

## #11 — jme, 2006-01-11T21:49Z

Testade med att köra unlink med enbart filnamnet.
Man behöver alltså inte ha kompletta sökvägen.

Permalänk: https://www.webforum.nu/p/1745090

## #12 — jme, 2006-01-11T21:58Z

Jag förmodar att nedanstående kod finns i filen tabort.php.

```php
<?php
$visa = unlink($fil);

if ($visa){
   echo 'filen är nu borttagen';
}
else{
   echo 'Något fel har uppstått. Filen kan inte tas bort';
}
?>
```

Du har följande html:

\<a href='tabort.php?fil=$fil'\>Ta bort denna bild?\</a\>

men sen i filen tabort.php så plockar du inte fram värdet på fil.
Detta kan du göra med:

$fil = $\_HTTP_GET_VARS\['fil'\];

och sedan:

unlink($fil);

Dock om tabort.php ligger i en annan katalog än själva filen så måste du antingen även ange en komplett sökväg eller en relativ sökväg.

Om detta skrev t ex Matte redan tidigare.

I din sista postning så har du bara:

\<?php
$visa = unlink($fil);
...

Kontrollera att du plockar fram värdet från GET-variabeln och att den är rätt skriven.

Permalänk: https://www.webforum.nu/p/1745101

## #13 — Matte, 2006-01-11T23:18Z

Lägg följande överst i skriptet, och visa vilka felmeddelanden du får:

```php
<?php

error_reporting(E_ALL);
ini_set("display_errors", "1");
```

Den andra raden (ini_set) får du eventuellt ta bort om du kör på b-one.

Permalänk: https://www.webforum.nu/p/1745161

## #14 — mr.mainline, 2006-01-12T20:49Z

får detta felmeddelande"Warning: unlink(01671.jpg) \[function.unlink\]: No such file or directory in /customers/freddeholm.com/freddeholm.com/httpd.www/tabort.php on line 15
Något fel har uppstått. Filen kan inte tas bort "

men skriptet tar bort filen.

Permalänk: https://www.webforum.nu/p/1745487

## #15 — Matte, 2006-01-12T22:18Z

Har du något som gör att koden körs 2 gånger ?

Permalänk: https://www.webforum.nu/p/1745547

## #16 — mr.mainline, 2006-01-13T14:22Z

så här ser det ut nu:
tabort.php

```php
 <?php
$fil = $_HTTP_GET_VARS['fil'];

unlink("/customers/freddeholm.com/freddeholm.com/httpd.www/_upload/" . $_GET['fil']); 

//Alternativt relativ sökväg 
//unlink("_upload/" . $_GET['fil']); 

if ($visa){ 
   echo 'filen är nu borttagen'; 
} 
else{ 
   echo 'Något fel har uppstått. Filen kan inte tas bort'; 
} 

$visa = unlink($fil); 
?>
```

Länken:

```php
<a href='tabort.php?fil=$fil'>Ta bort denna bild?</a>
```

Tack ska ni ha för att ni orkar hjälpa mig med detta.

felmeddelandet är detta:

Notice: Undefined variable: \_HTTP_GET_VARS in /customers/freddeholm.com/freddeholm.com/httpd.www/tabort.php on line 12

Notice: Undefined variable: visa in /customers/freddeholm.com/freddeholm.com/httpd.www/tabort.php on line 20
Något fel har uppstått. Filen kan inte tas bort
Warning: unlink() \[function.unlink\]: No such file or directory in /customers/freddeholm.com/freddeholm.com/httpd.www/tabort.php on line 27

Permalänk: https://www.webforum.nu/p/1745770

## #17 — jme, 2006-01-13T14:27Z

Det ska vara:

$HTTP_GET_VARS\['fil'\];

Sen har du:

```php
unlink("/customers/freddeholm.com/freddeholm.com/httpd.www/_upload/" . $_GET['fil']);
```

du har ju i början av koden redan hämtat värdet för $fil så använd $fil istället för $\_GET\['fil'\]

Dvs:

```php
unlink("/customers/freddeholm.com/freddeholm.com/httpd.www/_upload/" . $fil;
```

$\_GET är samma sak som $HTTP_GET_VARS.

I slutet av koden har du ännu en anrop på unlink(). Det ska du ta bort (eller kanske har du den där enbart för att testa).

Permalänk: https://www.webforum.nu/p/1745775

## #18 — jme, 2006-01-13T14:31Z

Dum fråga men, ska du verkligen upprepa din domännamn i texten? :)

/customers/min_domän.se/min_domän.se/httpd.www/\_upload/ \<-- min_domän_se två gånger

EDIT: En bra sida med PHPs inbyggda variablar: <http://fi.php.net/reserved.variables>

Permalänk: https://www.webforum.nu/p/1745777

## #19 — mr.mainline, 2006-01-13T14:33Z

Det blev så här:

Parse error: syntax error, unexpected ';' in /customers/freddeholm.com/freddeholm.com/httpd.www/tabort.php on line 14

och line 14 är 

```php
unlink("/customers/freddeholm.com/freddeholm.com/httpd.www/_upload/" . $fil;
```

Detta var för att testa
**I slutet av koden har du ännu en anrop på unlink(). Det ska du ta bort (eller kanske har du den där enbart för att testa).**

Permalänk: https://www.webforum.nu/p/1745780

## #20 — jme, 2006-01-13T14:42Z

ska vara:

```php
unlink("/customers/freddeholm.com/freddeholm.com/httpd.www/_upload/" . $fil);
```

Hade glömt ett ")" ;)

Permalänk: https://www.webforum.nu/p/1745787

---

Tråden på webben: https://www.webforum.nu/amne/php/140543-ta-bort-bilder-från-mapp  
Nästa sida: https://www.webforum.nu/amne/php/140543-ta-bort-bilder-från-mapp/page2.md
