Versio

Foto wordt niet verwijderd...

Overzicht Reageren

Mark Zwerwer

Mark Zwerwer

10/08/2010 21:26:35
Quote Anchor link
Door onderstaande code uit te voeren lukt het mij niet om een foto van de server te verwijderen. Hij redirect echter wel naar een opgegeven pagina en geeft geen foutmeldingen. Iemand een idee?

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
17
18
19
20
21
22
23
24
25
26
27
<?php
$image_id
= $_GET['image_id'];
$fotoalbum_id = $_GET['fotoalbum_id'];

$db->beginTransaction();

$stmt = $db->prepare("
SELECT
f.image_name
FROM
foto f
WHERE
f.image_id = :image_id
"
);

$stmt->bindParam(':image_id', $image_id, PDO::PARAM_INT);

$result = $stmt->fetch();

foreach($result as $row) {
unlink(PHOTO_PATH . $row['image_name']);
}


$stmt->execute();

$db->commit();
?>
 
PHP hulp

PHP hulp

24/05/2012 17:27:32
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Mark Beets

Mark Beets

10/08/2010 21:39:49
Quote Anchor link
Als het pad klopt zou ik zeggen, moet werken. Zelf zou ik om die unlink nog even if file_exists doen, else false of iets..
Blijft hij niet in je browser cache staan?

Sorry, ik las het verkeerd .. hij doet de foto inderdaad ook niet van de server verwijderen.. euh.. realpad?
Gewijzigd op 10/08/2010 21:41:39 door Mark Beets
 
- SanThe -

- SanThe -

10/08/2010 22:14:09
Quote Anchor link
Zet error_reporting(E_ALL) aan en zet unlink() in een if() om te kijken wat die doet. Unlink(): Returns TRUE on success or FALSE on failure.
 
Mark Zwerwer

Mark Zwerwer

10/08/2010 22:24:00
Quote Anchor link
Error reporting staat aan. Echter met onderstaande code krijg ik de volgende error melding: 'http://URL/lib/images/photos/photos/rHet bestand bestaat niet'.

De fotonaam is roger_federer.jpg. Zo te zien wordt alleen het eerste karakter gezien. Vreemd.

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
17
<?php
foreach($result as $row) {

$temp = PHOTO_PATH . $row['image_name'];
print($temp);

if(file_exists(PHOTO_PATH . $row['image_name'])) {
unlink(PHOTO_PATH . $row['image_name']);
}


else {
//temp
die("Het bestand bestaat niet");
}

}

?>
 
Mark Beets

Mark Beets

10/08/2010 22:31:14
Quote Anchor link
Kan dat niet komen omdat er maar 1 resultaat is? dus geen array terug geeft?
 
Mark Zwerwer

Mark Zwerwer

10/08/2010 22:36:47
Quote Anchor link
Ja klopt Mark. Ik merkte het net ook al op. Na het veranderen van Fetch in FetchAll wordt idd de volledige naam wel weergegeven. Echer nog geen werkende unlink functie.
 
Dalando De Zuil

Dalando De Zuil

10/08/2010 22:53:20
Quote Anchor link
Ge-CHMODded?
 
Mark Zwerwer

Mark Zwerwer

10/08/2010 22:59:50
Quote Anchor link
Ge-CHMOD is de map. Ik zal er morgen met een frisse blik naar kijken. Mocht iemand nog een tip hebben, graag! B.v.d.
 
Arjan -

Arjan -

10/08/2010 23:23:34
Quote Anchor link
Debug eens goed, dus zoiets als:

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
17
18
19
20
21
22
<?php
echo 'Absoluut pad: '.PHOTO_PATH.'<br /><br />';

foreach($result as $row) {

if(file_exists(PHOTO_PATH . $row['image_name'])) {

echo $row['image_name'].' bestaat';

if(unlink(PHOTO_PATH . $row['image_name'])) {
  echo ', en is ook verwijderd!';
else
  echo ', maar kon niet worden verwijderd!';

}
else {

  echo $row['image_name'].' bestaat niet';

}

}

?>


En de fout zit 'm denk ik in PHOTO_PATH.
Gewijzigd op 10/08/2010 23:25:08 door Arjan -
 



Overzicht Reageren