[PHP] Probleem met Unlink

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste Tweakers. Ik heb een probleempje. Op dit moment lukt het mij niet om bestanden te unlinken met het volgende script. Het vreemde is dat ik dit al eens eerder heb toegepast en het wel werkte.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
$Mysql = mysql_query("SELECT * FROM tbl_media, tbl_media_reacties WHERE media_reactie_mediaID = '{$_GET['delete']}' AND media_id = '{$_GET['delete']}'"); 
        
            while($regel = mysql_fetch_array($Mysql)){
                $media_id = $regel["media_id"];
                $media_bestand = $regel["media_bestand"];
                $media_afbeelding = $regel["media_afbeelding"];
            }
            
            mysql_query("DELETE FROM tbl_media WHERE media_id = '{$_GET['delete']}'");
            
            mysql_query("DELETE FROM tbl_media_reacties WHERE media_reactie_mediaID = '{$_GET['delete']}'");
                
                
            if ($media_bestand){
            @unlink ("../../bestand/$media_bestand");
        }   
            if ($media_afbeelding){
            @unlink ("../../thumbnail/$media_afbeelding");
        }
?>


Wat doe ik verkeerd?

Alvast bedankt voor jullie reacties!

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

haal die @ eens weg voor die regel, daarmee onderdruk je een eventuele foutmelding, wat natuurlijk nooit goed is ;)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Haal die @ eens weg voor je functie, dan krijg je een foutmelding. Ik gok dat je geen rechten hebt. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb de @ weggehaald maar ik krijg geen foutmelding, helemaal niets. Alle gegevens worden verwijderd behalve de Thumbnail en mediabestand.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
CHMOD 777 staat uiteraard ingesteld op de mappen.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Bestandsrechten gaan boven directoryrechten. Wat je op de mappen hebt ingesteld interesseert dus vrij weinig. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, kun je mij op weg helpen met bestandsrechten? Wat kan ik over het hoofd zien?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Begin maar eens met posten welke rechten je hebt ingesteld voor die bestanden. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Gooi er eens een:
echo $media_bestand;
tussen.

Gaat dat uberhaubt wel goed?
En de records worden wel uit de database verwijdert?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De records worden wel verwijdert uit de database. Als ik een echo na de UNLINK functie uitvoer dan krijg ik geen resultaten.. Als ik $media_bestand echo bijvoorbeeld.

[ Voor 15% gewijzigd door Verwijderd op 11-04-2006 13:11 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Permissions staat op 600 als het bestand is geupload.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

600 betekent dat alleen de eigenaar van het bestand er iets mee kan. Mag je drie keer raden waar het misgaat. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, maar ik heb ook jpg afbeelding die ik met eerdere scripts gewoon kon gebruiken en nu ook niet geunlinked wordt. Veranderen de rechten bij het uploaden naar de server?

[ Voor 81% gewijzigd door Verwijderd op 11-04-2006 13:31 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op dinsdag 11 april 2006 @ 13:10:
De records worden wel verwijdert uit de database. Als ik een echo na de UNLINK functie uitvoer dan krijg ik geen resultaten.. Als ik $media_bestand echo bijvoorbeeld.
Als je geen resultaat krijgt voor $media_bestand dan gaat het daar toch mis.
Nu gaat ie dus proberen om ../../bestand/ te verwijderen.


Volgens mij gaat het hier al fout:
$Mysql = mysql_query("SELECT * FROM tbl_media, tbl_media_reacties WHERE media_reactie_mediaID = '{$_GET['delete']}' AND media_id = '{$_GET['delete']}'");

probeer eens:
$Mysql = mysql_query("SELECT * FROM tbl_media, tbl_media_reacties WHERE tbl_media_reacties.media_reactie_mediaID = '{$_GET['delete']}' AND tbl_media.media_id = '{$_GET['delete']}'");


of gooi het volgende eens in je phpmyadmin: (wel de {$_GET['delete']} veranderen naar het juiste id).

SELECT * FROM tbl_media, tbl_media_reacties WHERE media_reactie_mediaID = '{$_GET['delete']}' AND media_id = '{$_GET['delete']}'

Acties:
  • 0 Henk 'm!

  • WormLord
  • Registratie: September 2003
  • Laatst online: 10:10

WormLord

Devver

Je haalt een set van records op, maar verwijderd alleen de bestanden van het laatste record dat je vind. Ik zou daar eens naar kijken.

Dus volgens mij zou het dan zoiets moeten worden:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
    $Mysql = mysql_query("SELECT * FROM tbl_media, tbl_media_reacties WHERE media_reactie_mediaID = '{$_GET['delete']}' AND media_id = '{$_GET['delete']}'");

        while($regel = mysql_fetch_array($Mysql))
        {
                $media_id = $regel["media_id"];
                $media_bestand = $regel["media_bestand"];
                $media_afbeelding = $regel["media_afbeelding"];

        if ($media_bestand)
        {
            @unlink ("../../bestand/$media_bestand");
        }    
        if ($media_afbeelding)
        {
            @unlink ("../../thumbnail/$media_afbeelding");
        }
        }

        mysql_query("DELETE FROM tbl_media WHERE media_id = '{$_GET['delete']}'");

        mysql_query("DELETE FROM tbl_media_reacties WHERE media_reactie_mediaID = '{$_GET['delete']}'");
?>

[ Voor 77% gewijzigd door WormLord op 11-04-2006 14:51 . Reden: Even gewijzigde code toegevoegd. :O ]

Pagina: 1