Hallo,
Ik heb een pagina die afbeeldingen upload, een eigen naam genereerd, en dit opslaat in een database, met een tekst er aan gekoppeld. Nu moeten die ook verwijderd kunnen worden, daarvoor heb ik de volgende delete.php pagina:

<?

error_reporting(E_ALL);

require('config.php');

if(isset($_GET["id"]) == FALSE){
die("Geen id opgegeven !");
}

if(isset($_POST["submit"]) == FALSE){

$query = mysql_query("SELECT * FROM foto WHERE id='" .$_GET["id"]. "'") or die(mysql_error());
while($object = mysql_fetch_object($query)){
$klein = $object->klein;
$groot = $object->groot;
?>
<form method="POST">
<table width="397" border="0">
		<tr>
           <td>
			<a href="<? echo $object->groot; ?>" rel="lightbox[geboorte]" title="<? echo $object->tekst; ?>">
			<img src="<? echo $object->klein; ?>" height="100" /></a>
			</td>
			<td>
			<? echo $object->tekst; ?>
			</td>
		</tr>
	</table>
<b>Weet u zeker dat u dit project wilt verwijderen?<br />
<br />
<input type="submit" name="submit" value="Verwijderen">
</form>
<?

}
}
else{
$query = mysql_query("SELECT * FROM foto WHERE id='" .$_GET["id"]. "'") or die(mysql_error());
while($object = mysql_fetch_object($query)){
$klein = $object->klein;
$groot = $object->groot;
unlink($groot);
unlink($klein);
}

mysql_query("DELETE FROM foto WHERE id='" . $_GET["id"] . "'") or die(mysql_error());
header("Location: wd.php");
exit();
}
?>


als ik nu eentje wil verwijderen krijg ik de volgende foutmelding:

Warning: unlink() [function.unlink]: Unable to locate stream wrapper in /www/htdocs/bloomsnu/admin/delete.php on line 43

Warning: unlink() [function.unlink]: Unable to locate stream wrapper in /www/htdocs/bloomsnu/admin/delete.php on line 44

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/bloomsnu/admin/delete.php:43) in /www/htdocs/bloomsnu/admin/delete.php on line 48

ik heb even gezocht op google, en de fout die iemand daar had was dat de url niet goed was van het plaatje echter, de locatie laat ik volledig opslaan, niet alleen de map en naam, dus in de database staat:

id: 11
klein: http://www.blooms.nu/klein/463952592.jpg
groot: http://www.blooms.nu/groot/463952592.jpg
tekst: test
soort: geboorte
pos: 5

ik heb deze nu even opnieuw aangemaakt, maar een dergelijke test vermelding stond er dus ook toen ik bevenstaande fout kreeg. dan ga ik dus naar delete.php?id=11, ik klik verwijderen, en dan krijg ik dus die fout.
de database rij wordt daarna wel verwijderd, maar de plaatjes blijven staan.
In de originelee delete pagina zat de 2e query niet in, alleen toen kreeg ik dus ook deze fout, en omdat het door dat rsultaat op google leek dat hij de img url blijkbaar niet goed kon vinden ofzo heb ik dus even deze nieuwe query toegevoegd. geen resultaat.

de mappen staan op cmod 777 ingesteld, de plaatjes zijn aangemaakt door de server zelf, dus daar zoudie alle rechten op moeten hebben.

Heeft iemand enig idee wat hier aan de hand kan zijn?
alvast bedankt,
Bart Huisman
Well volgens mij moet je voor unlink een relatief pad hebben en geen hard pad
Ik denk dat je de path moet opgeven en niet de url....
Bovendien kan die header daar niet staan... Wat is de meerwaarde van mysql_fetch_object? De ! operator bestaat ook nog... Die is wel een harde afbreking he?
En je kunt beter gebruik maken van $_SERVER['REQUEST_METHOD']=='POST' in plaats van een isset op submit...
hmm, heb geen mailtje gekregen dat er reactie is...
zal eens wat gaan proberen. heb in het upload script expres de volledige url staan dat hij die opslaan zodat jem ook vanuit de /admin mapo kan vertonen, dus dan moet ik daar ook wat aanpassen dat hij hem vanaf ../pad laadt, maar moet vast wel lukken.
dank
heb in het upload script expres de volledige url staan dat hij die opslaan zodat jem ook vanuit de /admin mapo kan vertonen
En hoezo zou dat met een relatief pad niet kunnen? Als je binnen hetzelfde bestandssysteem blijft is dat absoluut geen probleem...
dat zeg ik dus, dan moet ik hem vanaf ../pad laden als ik hem in de admin map wil laten zien
Bart schreef op 10.05.2008 16:42
dat zeg ik dus, dan moet ik hem vanaf ../pad laden als ik hem in de admin map wil laten zien

Jah, wat dus veel handiger is. Aan die url heb je eigenlijk niks, jah, je kunt nu overal met een linkie die plaatjes plakken, maar met verwijderen, verplaatsen, en echt weten waar de plaatjes zijn heb je d'r niks aan.
idd, heb het nu denk ik overal doorgevoerd. verwijder pagina werkt nu, nu de wijzig pagina nog dan is het systeem af... bedankt

Reageren