folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Unlink İle Dosya Silmede Ufak Bir Sorun



Unlink İle Dosya Silmede Ufak Bir Sorun

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    farlo54
    farlo54's avatar
    Kayıt Tarihi: 19/Şubat/2013
    Erkek

    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]);
    			}
    		}  
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    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)


    iyibu! yeniden..
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    farlo54
    farlo54's avatar
    Kayıt Tarihi: 19/Şubat/2013
    Erkek

    söylediklerinizi hemen deniyorum birde söylemeyi unutmuşum localhostta çalışıyorum.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Retro
    by_Tet
    by_Tet's avatar
    Kayıt Tarihi: 22/Mayıs/2012
    Erkek
    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..


    iyibu! yeniden..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    risperdal
    risperdal's avatar
    Kayıt Tarihi: 13/Haziran/2006
    Erkek

    for u while dan sonraya koy


    Özgür iradeydi şeytanım.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    farlo54
    farlo54's avatar
    Kayıt Tarihi: 19/Şubat/2013
    Erkek

    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';
    }

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pSkpt
    pSkpt's avatar
    Kayıt Tarihi: 10/Aralık/2010
    Erkek

    $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ı.


    İmza...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    farlo54
    farlo54's avatar
    Kayıt Tarihi: 19/Şubat/2013
    Erkek
    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

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    farlo54
    farlo54's avatar
    Kayıt Tarihi: 19/Şubat/2013
    Erkek

    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);					
    				}				
    			}  	
Toplam Hit: 1006 Toplam Mesaj: 9