02. juli 2008 - 01:26
Der er
9 kommentarer og 2 løsninger
Problem med unlink()
Hey Jeg har et problem med funktionen unlink. Min kode ser således ud: $connector->query('SELECT * FROM cms_gallery_photos WHERE photo_category="'.$category_id.'"'); while ($row = $connector->fetchArray($result)) { $picturepath = $settings['siteDir'].$settings['galleryImageDir'] . $row['photo_filename']; unlink($picturepath); $small_path = $settings['siteDir'].$settings['galleryImageDir'] . "small/s_" . $row['photo_filename']; unlink($small_path); $thumb_path = $settings['siteDir'].$settings['galleryImageDir'] . "thumbs/tb_" . $row['photo_filename']; unlink($thumb_path); $connector->query('DELETE FROM cms_gallery_category WHERE category_id="'.$category_id.'" LIMIT 1'); $connector->query('DELETE FROM cms_gallery_photos WHERE photo_category="'.$category_id.'"'); } Rækken i databsen bliver slettet, men ikke selve billedet på serveren. Hvad kan jeg kan gøre det?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
Check argument til unlink og check retur værdi fra unlink.
Arne_v tænker på noget i stil med: function myDebug($var,$value){ return '<b>DEBUG</b> ' . $var . ' : ' . $value . '<br />'; } $connector->query('SELECT * FROM cms_gallery_photos WHERE photo_category="'.$category_id.'"'); while ($row = $connector->fetchArray($result)) { $picturepath = $settings['siteDir'].$settings['galleryImageDir'] . $row['photo_filename']; echo myDebug('picturepath',$picturepath); if(unlink($picturepath)){ echo myDebug('picturepath','deleted'); }else{ echo myDebug('picturepath','!deleted'); } $small_path = $settings['siteDir'].$settings['galleryImageDir'] . "small/s_" . $row['photo_filename']; echo myDebug('small_path',$small_path); if(unlink($small_path)){ echo myDebug('small_path','deleted'); }else{ echo myDebug('small_path','!deleted'); } $thumb_path = $settings['siteDir'].$settings['galleryImageDir'] . "thumbs/tb_" . $row['photo_filename']; echo myDebug('thumb_path',$thumb_path); if(unlink($thumb_path);){ echo myDebug('thumb_path','deleted'); }else{ echo myDebug('thumb_path','!deleted'); } $connector->query('DELETE FROM cms_gallery_category WHERE category_id="'.$category_id.'" LIMIT 1'); $connector->query('DELETE FROM cms_gallery_photos WHERE photo_category="'.$category_id.'"'); }
Det virker ikke. Den returnere bare DEBUG picturepath !deleted
Jamen så har du jo et sted at fejlsøge...
Jeg fandt fejlen.. Det var $settings['siteDir'], der var forkert. Jakobdo smid et svar for point :P
Jeg gav blot koden på Arne_v's forklaring, men jeg deler gerne...
Jeg forstod dog ingenting af det han skrev, først da du gav en forklaring gav det mening.
Du får et svar af mig, så kan vi afvente arne_v
03. juli 2008 - 22:20
#10
Tak for hjælpen
04. juli 2008 - 08:06
#11
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling