Unlink functie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eeyk Vd noot

Eeyk Vd noot

15/02/2015 10:30:46
Quote Anchor link
Goede dag,

ik heb hier een stuk code uit mijn website.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$target
= $verwijder['image_link'];

if (file_exists($target)) {
    unlink($target);
}

sleep (2);
if (file_exists($target)) {
    echo "<td class=\"maintxt\">Fout opgetreden tijdens het verwijderen : " . $target . "</td>";
}
else {

///// Database codes en andere codes wat hier niks te doen heeft.


}
?>


Alles werkt prima, alleen de foto word niet van mijn server verwijderd.
de link blijft namelijk gewoon werken. de waarde van $target = http://www.*.nl/user_content/images/6/0acbec3a8348de88abfb687db893096f.jpg
de database gegevens worden wel verwijderd.

kan iemand mij uitleggen wat ik hier fout doet? de unlink functie is namelijk best nieuw voor mij.
Gewijzigd op 15/02/2015 10:40:00 door Eeyk Vd noot
 
PHP hulp

PHP hulp

05/05/2024 14:06:05
 
- SanThe -

- SanThe -

15/02/2015 10:40:09
Quote Anchor link
Zet errors aan en check of de unlink() is gelukt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

if(unlink($verwijder['image_link'])
{

   echo 'Gelukt';
}

else
{
   echo 'Niet gelukt';
}

?>
 
Eeyk Vd noot

Eeyk Vd noot

15/02/2015 10:52:43
Quote Anchor link
Om een foto te verwijderen moet je dan alleen de map op 777 hebben staan of ook de foto?
ik krijg geen error meldingen op de pagina van het verwijderen.

Er staat dat de foto verwijderd is maar als ik dan kijk op de link die $verwijder['image_link']; weergeeft dan bestaat de foto gewoon nog.
Gewijzigd op 15/02/2015 10:55:36 door Eeyk Vd noot
 
Bart V B

Bart V B

15/02/2015 11:02:17
Quote Anchor link
Quote:
http://www.*.nl/user_content/images/6/0acbec3a8348de88abfb687db893096f.jpg

Dat kan niet.
Je moet een directory hebben niet een http url.
Dus ik gok zomaar dat het moet worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
unlink('user_content/images/6/0acbec3a8348de88abfb687db893096f.jpg');
?>

Je moet even kijken wat de hele directory structuur is.
Want dat kan ik zo niet uit je post halen.
Wat geeft
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
echo '<pre>';
print_r($_SERVER);
echo '</pre>';
?>
Gewijzigd op 15/02/2015 11:05:01 door Bart V B
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/02/2015 11:04:57
Quote Anchor link
De rechten die je moet hebben hangt mede af van wie de eigenaar is van het bestand en onder welke user het PHP script draait.

Maar probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(unlink($filename))
    echo 'Gelukt';
else
    echo 'Niet gelukt';
?>
 
- SanThe -

- SanThe -

15/02/2015 11:05:32
Quote Anchor link
De owner van de foto moet dezelfde zijn als de user waaronder de webserver draait.
Zoniet, dan moeten de rechten van de foto op 666 staan.
 
Bart V B

Bart V B

15/02/2015 11:06:45
Quote Anchor link
Dit is geen rechten probleem, maar een directory probleem. :)
 
Eeyk Vd noot

Eeyk Vd noot

15/02/2015 11:08:08
Quote Anchor link
het is opgelost! bedankt ;)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

if($verwijder['type'] == "image/jpeg"){
$type = ".jpg";
}

if(unlink($verwijder['image_naam'].$type)){

}

?>


even in het kort voor als iemand ooit de zelfde fout heeft.


bedankt.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/02/2015 11:08:23
Quote Anchor link
En inderdaad zoals Bart zegt.

Je hebt URL's en je hebt filesystems.

Url:
http://domein.com/subdir/index.php

Filesystem
/var/www/domein.com/public_html/index.php (Linux)
C:\www\domein.com\public_html\index.php (Windows)
 
Eeyk Vd noot

Eeyk Vd noot

15/02/2015 11:15:07
Quote Anchor link
Nogmaals bedankt ;) ben echt al tijdje bezig met een oplossing zoeken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.