Unlink İle Dosya Silmede Ufak Bir Sorun
-
müridler yapmaya çalıştığım projede takıldığım biyer var mysql den dosya linklerini siliyorum fakat normalde dosyayı bi türlü silemedim altaki kodu yazdım ne kaar doğrudur bilmiyorum ama print_r($sil) baktığımda dizi içinde silmek istediğim dosya linklerini gösteriyor bunu unlink e aktarıp silme işlemini gerçekleştiremedim :(
$id = g("id"); $query = query("SELECT * FROM resimler WHERE konu_id = '$id'"); $toplam_kayit = mysql_num_rows($query); while($result = mysql_fetch_array($query)) { $adres = $ayar["site_url"]; $ad = $result["resim_link"]; $unlink = $adres."/".$ad; $sil[] = $unlink; for($i = 0; $i < $toplam_kayit; $i++){ unlink($sil[$i]); } }
-
farlo54 bunu yazdı
müridler yapmaya çalıştığım projede takıldığım biyer var mysql den dosya linklerini siliyorum fakat normalde dosyayı bi türlü silemedim altaki kodu yazdım ne kaar doğrudur bilmiyorum ama print_r($sil) baktığımda dizi içinde silmek istediğim dosya linklerini gösteriyor bunu unlink e aktarıp silme işlemini gerçekleştiremedim :(
$id = g("id"); $query = query("SELECT * FROM resimler WHERE konu_id = '$id'"); $toplam_kayit = mysql_num_rows($query); while($result = mysql_fetch_array($query)) { $adres = $ayar["site_url"]; $ad = $result["resim_link"]; $unlink = $adres."/".$ad; $sil[] = $unlink; for($i = 0; $i < $toplam_kayit; $i++){ unlink($sil[$i]); } }
is_readable (sanırım böyleydi) ile yazılabilir mi kontrol et.
Sonra pek ilgilenemedim kodla ama unlink yerine die yaz ve adres doğrumuymuş bir bak ya da neyi sildirmeye çalışıyorsun
Eğer bu ikisi de olmazsa klasörün yazılabilirliğini kontrol et.
Unlink doğru komut. Mantık da doğru. Hatayı bulmak için deneme yanılma yapmalı hocam (belki kodda hata vardır ama pek inceleyemedim şimdi)
-
söylediklerinizi hemen deniyorum birde söylemeyi unutmuşum localhostta çalışıyorum.
-
farlo54 bunu yazdı
söylediklerinizi hemen deniyorum birde söylemeyi unutmuşum localhostta çalışıyorum.
Localhosttaysan (ve eğer windowssa) salt okunur mu ona bak özellikle hem klasör hem dosya için.
Tutarsızlıkları enaza indirebilmek için (localde olan hostta çalışmaz hostta çalışansa localde bu hep böyledir bilmiyorum belki de bana garezi vardır webin) NotePad++'ın ftp bağlantısını kullan klasör falan uğraşmadan herşeyi notepad üzerinden hallet geç. Ben son projeyi bu şekilde yapıyorum çok ama çok hızlandım..
-
for u while dan sonraya koy
-
arkadaşlar dediklerinizi yaptım sonuç aynı die($sil[$i]) kullandğım zaman ilk linki veriyor diğer 2 si yok print_r($sil) dediğim zaman ise 3 linkide array olarak olabiliyorum unlink ile kullandığımda silmiyor :( for döngüsünü while nin altına aldım yine birşey değişmedi altaki kodu kullandığımda " Dosya okunamaz" ekrana geliyor.
if (is_readable($sil)) {
echo 'Dosya okunabilir';
} else {
echo 'Dosya okunamaz';
} -
$id = g("id");
$query = query("SELECT * FROM resimler WHERE konu_id = '$id'");
$toplam_kayit = mysql_num_rows($query);
while($result = mysql_fetch_array($query))
{
$adres = $ayar["site_url"];
$ad = $result["resim_link"];
$unlink = $adres."/".$ad;
unlink($unlink);
}
bu arada adres demişsin adres http://localhost/images/abc.jpg olmaz
/images/abc.jpg şeklinde olmalı.
-
pSkpt bunu yazdı
$id = g("id");
$query = query("SELECT * FROM resimler WHERE konu_id = '$id'");
$toplam_kayit = mysql_num_rows($query);
while($result = mysql_fetch_array($query))
{
$adres = $ayar["site_url"];
$ad = $result["resim_link"];
$unlink = $adres."/".$ad;
unlink($unlink);
}
bu arada adres demişsin adres http://localhost/images/abc.jpg olmaz
/images/abc.jpg şeklinde olmalı.
söylediğiniz gibi yaptım fakat yine olmadı veritabanındaki ["resim_link"] şu şekilde yazılı "upload/resimler/581741_3306206327162_1966203035_n.jpg" yani direk $ad değişkenimi kullansam dediğiniz gibi oluyor sadece başı " / " ekliyorum ama dosya yine silinmedi :S
-
sorun çözülmüştür arkadaşlar problem ben gelen id ile farklı bir tabloda sildirmi işlemi yaptırıyordum aynı zamanda resimler tablosundaki gelen id ye göre olan resimleri sildirmeye çalışıyordum ilk olarak resimleri sildirince sorun çözüldü en son kullandığım kodda altaki yardımcı olan tüm müridlere teşekkur ederim.
$id = g("id"); $query = query("SELECT * FROM resimler WHERE konu_id = '$id'"); $toplam_kayit = mysql_num_rows($query); while($result = mysql_fetch_array($query)) { $sil[] = $result["resim_link"]; for($i = 0; $i < $toplam_kayit; $i++){ $sonuc = $sil[$i]; $dosyamiz = realpath("../")."/upload/resimler/".$sonuc; unlink($dosyamiz); } }