İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Resim Kopyalama

kardox

0
İyinet Üyesi
Katılım
25 Nisan 2011
Mesajlar
42
Reaction score
0
kolay gelsin arkadaşlar sorum şu

bir klasörüm var içinde 100 resim var diyelim

random bir resim secip resim adını değiştirerek nasıl farklı bir klasorün içine kopyalayabilirim ? fikri olan varmi?
 
E

Erturk

Misafir
PHP:
<?php
$klasor = 'deneme'; // Resimlerinin Bulunduğu Klasör
$uzantilar = array('png','jpg','jpeg','gif'); // Desteklenen Uzantılar
$ac = opendir($klasor);
while($oku = readdir($ac)) {
if(in_array(strtolower(substr($oku,-3)),$uzantilar)) {
$resimler[] = $oku;
reset ($resimler); 
}
}
$toplamresim = count($resimler); 
$rasgele = rand(0,$toplamresim); 
$yeniklasor = "deneme2"; // Resimlerin Taşınacağı Klasör
$resimadi= substr($resimler[$rasgele],0,-4);
$uzanti= substr($resimler[$rasgele],-4);
$yeniresimadi = substr(md5(uniqid(rand())),0,6); 
if(!empty($resimadi)) {

// $kopyala = copy($klasor.'/'.$resimadi.$uzanti,$yeniklasor.'/'.$yeniresimadi.$uzanti);

$tasi = rename($klasor.'/'.$resimadi.$uzanti,$yeniklasor.'/'.$yeniresimadi.$uzanti);
if($tasi) {
echo 'Eski Adı <b>'.$resimadi.$uzanti.'</b> olan resim <b>'.$klasor.'</b> 
klasöründen <b>'.$yeniklasor.'</b> klasörüne <b>'.$yeniresimadi.$uzanti.'</b> adı ile taşındı.';
} else {
echo 'Taşıma işlemi olmadı';
}
}
?>

Buyur dostum.

Değiştirmen gereken yerleri belirttim. Yalnız şu çok önemli. Taşınacak klasörün CHMOD degerleri 777 olmak zorunda. Aksi taktirde calısmayacaktır.

Bu yazdığım kod ile resimlerinin bulundugu klasör baştan sona taranıp desteklenen uzantılara sahip olan dosyalar yeni bir isim ile baska klasöre taşınır.

Kopyalama olayınıda yaptım. Lakin o sana biraz dezavantaj saglar. Cunku bu kodu her çalıştırdığında (Her F5 te) butun resimler içerisinden kafasına göre bir tanesini secip adını degiştirip kopyalayacak. Yani asılları halen ilk klasörde kalacak. Toplam resim sayısı içerisindeki sayı değerlerini bir kere kullandırmanın nasıl yapılacağını bilmiyorum. Yalan yok pekte uğraşmadım. Eger yapılırsa toplamresim sayısı içindeki sayı degerleri 1 kere kullanılır. Bu sayede bir kere kopyalanan resim bir daha kopyalanmaz.

Eğer şu anki haliyle kopyalama olayını kullanmak istersen // $kopyala önündeki // işaretlerini kaldırıp if($tasi) { koşulundaki $tasi yi $kopyala yapman kafi.

İyi calısmalar.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst