Foto wordt niet verwijderd...
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)
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
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();
?>
$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();
?>
Gesponsorde koppelingen:
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?
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
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.
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.
De fotonaam is roger_federer.jpg. Zo te zien wordt alleen het eerste karakter gezien. Vreemd.
Kan dat niet komen omdat er maar 1 resultaat is? dus geen array terug geeft?
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.
Ge-CHMODded?
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.
Debug eens goed, dus zoiets als:
En de fout zit 'm denk ik in PHOTO_PATH.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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';
}
}
?>
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 -



