İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

Resimleri Kopyalarken Yeniden Adlandırma

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
http://www.su-med.com/resim/
sitede resimleri yüklüyorum ama aynı isimli resimler yüklendiğinde eskisinin üstüne atıyor. Yani eski resim kayboluyor. Kayıt ederken resimismi-otonumara.resiminuzantısı şeklinde veri tabanına kayıt girerek bu resimleri yüklerken isimlerini nasıl değiştirebilirim kullandığım kod aşağıda eğer hataları varsa söylerseniz sevinirim.

Kod:
<?
$dosya_dizin = "C:\AppServ\www/resim/resim";
$dosya_url = "http://localhost/resim/resim";
if ( isset ( $dosya_gonder )) {
	if ( $dosya_gonder_type == "image/gif" or $dosya_gonder_type == "image/pjpeg" or $dosya_gonder_type == "image/jpeg" or $dosya_gonder_type == "image/jpg" or $dosya_gonder_type == "image/png"  ) {
    copy ( $dosya_gonder, "$dosya_dizin/$dosya_gonder_name" )or die ("Dosya kopyalanamıyor!"); 
	       $resim="$dosya_gonder_name";
		   }
	 else 
	{ print ("<span class=style1>Lütfen Resim Dosyasi Gönderiniz.</span>");}
      if ( $dosya_gonder_type == "image/gif" or $dosya_gonder_type == "image/pjpeg" or $dosya_gonder_type == "image/jpeg" or $dosya_gonder_type == "image/jpg" or $dosya_gonder_type == "image/png" ) {
      print ("<span class=style1>Resim Basari Ile Yüklendi Yönetici Tarafindan En Kisa Sürede Onaylanip Sitemizde Yayinlanacaktir.</span><br><br>\n\n");
      }
}
$kategori = $_POST['kategori'] ;
$aciklama = $_POST['aciklama'] ;
mysql_query("INSERT INTO `resim` ( `id` , `kategori` , `resim` , `onay`,aciklama ) VALUES ( lisanssız , '$kategori', '$dosya_gonder_name', 'h','$aciklama' )");
?>
 

Grafix

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
1,153
Reaction score
0
Konum
Bursa
PHP:
$rastgele 	 = substr(uniqid(md5(rand())),0,10);
$uzanti      	 = substr($resimadi, -4); 
$yeniad      	 = $rastgele.$uzanti;

gibi bir işlemle yeni resim isimleri oluşturabilirsin.
 

ADrK

0
İyinet Üyesi
Katılım
17 Şubat 2008
Mesajlar
68
Reaction score
0
Konum
Kartal
PHP:
$dosya = $_FILES['field']['name'];

$ftpadi = "su-med_".rand(0,15000).substr($dosya,-4);
Böylede alabilirsiniz dostum..
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
copy ( $dosya_gonder, "$dosya_dizin/$dosya_gonder_name" )or die ("Dosya kopyalanamıyor!");
$resim="$dosya_gonder_name";
}

bu koda nasıl ekliyebilirim onu soruyorum. Dosyanın ismini bende değiştiriyorum ama değiştirince Dosya kopyalanamıyor diyor. ondan sonra yaparsamda veri tabanına saçma sapan bir şey kayıt ediyor değişen dosya ismi ile hiç alakası olmayan bir şey.
 

ADrK

0
İyinet Üyesi
Katılım
17 Şubat 2008
Mesajlar
68
Reaction score
0
Konum
Kartal
copy ( $dosya_gonder, "$dosya_dizin/$dosya_gonder_name" )or die ("Dosya kopyalanamıyor!");
$resim="$dosya_gonder_name";
}

bu koda nasıl ekliyebilirim onu soruyorum. Dosyanın ismini bende değiştiriyorum ama değiştirince Dosya kopyalanamıyor diyor. ondan sonra yaparsamda veri tabanına saçma sapan bir şey kayıt ediyor değişen dosya ismi ile hiç alakası olmayan bir şey.

PHP:
<?php

$dosya = $_FILES['dosya']['tmp_name'];
$ftpadi = "su-med_".rand(0,15000).substr($dosya,-4); 
$yukle = move_uploaded_file($dosya, "resim/".$ftpadi);
if($yukle) {
echo "Resim Yüklendi <br> :";
echo "<input type=\"text\" value=\"http://".$_SERVER['HTTP_HOST']."/$ftpadi\">";
} else {
echo "Resim Yüklenemiyor...";
}

?>

Birde bu sekilde denermisin ?
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
Kod:
    $dosya_gonder = $_FILES['field']['name'];
    $ftpadi = "su-med_".rand(0,15000).substr($dosya,-4); 
     copy ( $dosya_gonder, "$dosya_gonder" )or die ("Dosya kopyalanamıyor!"); 
	       $resim="$dosya_gonder";
		   }

Kod:
 copy ( $dosya_gonder, "$dosya_dizin/$dosya_gonder_name" )or die ("Dosya kopyalanamıyor!"); 
	       $resim="$dosya_gonder_name";
		   }
Kod:
    copy ( $dosya_gonder, "isim.jpg" )or die ("Dosya kopyalanamıyor!");

Kod:
$resim="$dosya_gonder_name";
$rastgele      = substr(uniqid(md5(rand())),0,10);
$uzanti           = substr($resim, -4); 
$yeniad           = $rastgele.$uzanti;  
copy ( $dosya_gonder, "$yeniad " )or die ("Dosya kopyalanamıyor!"); 
	       
		   }

Kod:
$resim=$dosya_gonder_name;
$rastgele      = substr(uniqid(md5(rand())),0,10);
$uzanti           = substr($resim, -4); 
$yeniad           = $rastgele.$uzanti;  
copy ( $dosya_gonder, "$yeniad " )or die ("Dosya kopyalanamıyor!"); 
	       
		   }
Kod:
$resim=$dosya_gonder_name;
$rastgele      = substr(uniqid(md5(rand())),0,10);
$uzanti           = substr($resim, -4); 
$yeniad           = $rastgele.$uzanti;  
copy ($dosya_gonder,$yeniad)or die ("Dosya kopyalanamıyor!"); 
	       
		   }

Bunların hiç biri çalışmıyor resmin ismi hep aynı.
 

ADrK

0
İyinet Üyesi
Katılım
17 Şubat 2008
Mesajlar
68
Reaction score
0
Konum
Kartal
dostum move_uploaded_file() fonksiyonunu kullanabilirsin, yukarıda örneğini verdim..
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
Kod:
$dosya = $dosya_gonder_name;
$ftpadi = "su-med_".rand(0,15000).substr($dosya,-4); 
$yukle = move_uploaded_file($dosya, "resim/".$ftpadi);
if($yukle) {
echo "Resim Yüklendi <br> :";
} else {
echo "Resim Yüklenemiyor...";
}
Kod:
$dosya = $dosya_gonder_name;
$ftpadi = "su-med_".rand(0,15000).substr($dosya,-4); 
$yukle = move_uploaded_file($dosya_gonder, "resim/".$ftpadi);
if($yukle) {
echo "Resim Yüklendi <br> :";
} else {
echo "Resim Yüklenemiyor...";
}
Kod:
$ftpadi = "su-med_".rand(0,15000).substr($dosya_gonder_name,-4); 
$yukle = move_uploaded_file($dosya_gonder_name, "resim/".$ftpadi);
if($yukle) {
echo "Resim Yüklendi <br> :";
} else {
echo "Resim Yüklenemiyor...";
}
bularda aynı işi yaptı acaba ben formu başka sayfadan alıyorum ondanmı oluyor.

Kod:
<FORM  ENCTYPE="multipart/form-data" ACTION="eklendi.php" METHOD="POST">

  <p>
  <?
echo '<select name="kategori">';
$kategoriler = mysql_query("select * from kategori order by kategori asc") or die(mysql_error());
while($katego = mysql_fetch_array($kategoriler))
{
echo('<option value="'.$katego[id].'">'.$katego[kategori].'</option>');
}
echo '</select>';
echo  '<INPUT TYPE="hidden" NAME="resim" VALUE="'.$resim.'">';
?>
</p>
  <p>
    <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="2900000">
    <INPUT TYPE="file" NAME="dosya_gonder">
    <BR>
    <INPUT TYPE="SUBMIT" VALUE="Resim Yükle!">

bu şekilde
 

ADrK

0
İyinet Üyesi
Katılım
17 Şubat 2008
Mesajlar
68
Reaction score
0
Konum
Kartal
Kod:
$dosya_gonder=$_FILES['resim']['tmp_name'];

$dosya_gonder'e bu degeri atarmisin ? bakalim düzelecekmi
 

ADrK

0
İyinet Üyesi
Katılım
17 Şubat 2008
Mesajlar
68
Reaction score
0
Konum
Kartal
Dostum Bunu Kullanarak Veritabaninada ismi basabilirsiniz.. Komple bu sistemi kullanmalisin ama.. Eğer buda olmazsa, ne yapmak istedigini söyle Seni kafaya taktim sorununu halledicem :))

PHP:
<?php 

$dosya = $_FILES['dosya']['tmp_name']; 
$ftpadi = "su-med_".rand(0,15000).substr($dosya,-4);  
$yukle = move_uploaded_file($dosya, "resim/".$ftpadi); 
if($yukle) { 
echo "Resim Yüklendi <br> :"; 
echo "<input type=\"text\" value=\"http://".$_SERVER['HTTP_HOST']."/$ftpadi\">"; 
$yukle = mysql_query("insert into table (resim,deger2,deger3,deger4) values ('$ftpadi','$deger2','$deger3','$deger4')");
} else { 
echo "Resim Yüklenemiyor..."; 
} 

?>
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
şimdi masa üstünde bir resim var diyelim bunun adı c.jpg. birisi bunu siteye yüklediği zaman c1.jpg yapıcak ismini ve veri tabanına c1.jpg diye kayıt edicek resmi b.jpg diye yüklendimi b2.jpg olcak sonra c.jpg diye başka biri daha resim yüklediğinde c3.jpg olcak.
Yani
resimismi+artannumara.resimuzantısı
ben artan numarayı halledebilirim ama resmi upload ederken ismini değiştiremiyorum bütün sorun burda yani resim c.jpg yükle dediğinde bunu c1.jpg olarak servera gönderen kodu arıyorum.
 

eRLySL

0
İyinet Üyesi
Katılım
25 Mart 2008
Mesajlar
424
Reaction score
1
PHP:
<?php 

// Ayar
mysql_connect("localhost","root","");
mysql_select_db("resim");


if($_GET[sys]=="") { 
echo "<form name=\"uploadsistemi\" enctype=\"multipart/form-data\" method=\"post\" action=\"?sys=yukle\"><input type=\"file\" name=\"dosya\">
<input type=\"submit\" value=\"yukle bakim!\"></form>"; 
} 

if($_GET[sys]=="yukle") { 

$dizin=$_FILES['dosya']['tmp_name']; 
$dosya=$_FILES['dosya']['name']; 
$error=$_FILES['dosya']['error']; 
$ftp="su-med_".rand(0,9000).date("d_y_m").substr($dosya,-4); 
$yeni	=	stripslashes($ftp);
if($dosya=="" || $error>0) { 
echo "Dosya Yüklenirken Bir hata oluştu. <br> Lütfen <a href=javascript:history.back(1)>geri </a>dönerek tekrar deneyiniz."; 
}else { 
$db	=	mysql_query("insert into resim (resim) values ('$yeni')");
if(!$db) {
echo "<li>Veritabanina Yazilamiyor</li>";
}
$yuklebakim = move_uploaded_file($dizin, "resim/".$ftp); 
if($yuklebakim) { 
echo "Resim Başarı ile Yüklendi <br><b>İşte Linki : </b> <input type=\"text\" value=\"".$_SERVER['HTTP_HOST']."/resim/$ftp\">"; 
} else { 
echo "Resimi Yükleyemiyorum, Nedenini Bende Bilmiyorum :)"; 
} 
} 
} 

?>

Bide bunu denermisin dostum ? Ben denedim çalışıyor.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
PHP:
<?php 

// Ayar
mysql_connect("localhost","root","");
mysql_select_db("resim");


if($_GET[sys]=="") { 
echo "<form name=\"uploadsistemi\" enctype=\"multipart/form-data\" method=\"post\" action=\"?sys=yukle\"><input type=\"file\" name=\"dosya\">
<input type=\"submit\" value=\"yukle bakim!\"></form>"; 
} 

if($_GET[sys]=="yukle") { 

$dizin=$_FILES['dosya']['tmp_name']; 
$dosya=$_FILES['dosya']['name']; 
$error=$_FILES['dosya']['error']; 
$ftp="su-med_".rand(0,9000).date("d_y_m").substr($dosya,-4); 
$yeni	=	stripslashes($ftp);
if($dosya=="" || $error>0) { 
echo "Dosya Yüklenirken Bir hata oluştu. <br> Lütfen <a href=javascript:history.back(1)>geri </a>dönerek tekrar deneyiniz."; 
}else { 
$db	=	mysql_query("insert into resim (resim) values ('$yeni')");
if(!$db) {
echo "<li>Veritabanina Yazilamiyor</li>";
}
$yuklebakim = move_uploaded_file($dizin, "resim/".$ftp); 
if($yuklebakim) { 
echo "Resim Başarı ile Yüklendi <br><b>İşte Linki : </b> <input type=\"text\" value=\"".$_SERVER['HTTP_HOST']."/resim/$ftp\">"; 
} else { 
echo "Resimi Yükleyemiyorum, Nedenini Bende Bilmiyorum :)"; 
} 
} 
} 

?>

Bide bunu denermisin dostum ? Ben denedim çalışıyor.
Çok sağol hocam teşekkür ederim :D . En sonunda oldu allah razı olsun.
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
Hocam

Kod:
$dizin=$_FILES['dosya']['tmp_name']; 
$dosya=$_FILES['dosya']['name'];

Burda alt klasörü nasıl belirtebilirim.

Ben resimleri
localhost/site/admin/resim
Klasöründe ekliyorum. Ama resimlerin
localhost/site/resim klasörüne kopyalanmasını istiyorum. Bu kod ile c:\wwwroot\site filan belirtmem gerekmediği için acaba nasıl bir değişiklik yapabilirim.
 

eRLySL

0
İyinet Üyesi
Katılım
25 Mart 2008
Mesajlar
424
Reaction score
1
bir üst dizini dosya adinin onune "../" şeklinde belirtebilirsiniz..
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
:D yukardaki kodda
$dizin=$_FILES['dosya']['tmp_name'];
$dosya=$_FILES['dosya']['name'];
kendi buluyor ya öbürtürlü elle yazmak lazım. Acaba bir alt dizini buldurmak için bir kod varmıdır.
 

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