İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

random isim

gulut91

0
İyinet Üyesi
Katılım
3 Temmuz 2008
Mesajlar
0
Reaction score
0
PHP:
$sayisayi = rand(99999,99999999);
$date = time();

$query = "INSERT INTO `images` ( `id` , `boyut` , `indirilmesayisi` , `sonkullanim` , `tur` , `aciklamas`, `ip` , `rapor` , `ad`) VALUES ('', " . $userfile_size . ", '0', " . $date . ", " . '\'' . $userfile_type . '\'' . ", " . '\'' . $comments . '\'' . ", " . '\'' . $_SERVER['REMOTE_ADDR'] . '\'' . " , ''," . $sayisayi ." );";
bu şekilde servere upload edilen resimlerin ozelliklerini ve adını dbye yazdırıyorum fakat su $ad konusunda kafam biraz takıldı
100bin ila 100milyona rasında 1 sayıyı random olarak atıyor fakat olasılık cok düşük olsa bile aynı adı verebilir buda onceki resmin üzerine yazmasına neden olur oneriniz nedir acaba bu konuda?
şimdiden teşekkürler
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
resimismi+tarih+yanına 2-3 karakter rasgelesayi.jpg olsa herhalde aynı olan olmaz :)
 

gulut91

0
İyinet Üyesi
Katılım
3 Temmuz 2008
Mesajlar
0
Reaction score
0
PHP:
$sayisayi = rand(99,999);
$date = time();
$dosyaadi = "$sayisayi. $userfile_name. $date";

$query = "INSERT INTO `images` ( `id` , `boyut` , `indirilmesayisi` , `sonkullanim` , `tur` , `aciklamas`, `ip` , `rapor` , `ad`) VALUES ('', " . $userfile_size . ", '0', " . $date . ", " . '\'' . $userfile_type . '\'' . ", " . '\'' . $comments . '\'' . ", " . '\'' . $_SERVER['REMOTE_ADDR'] . '\'' . " , ''," . $dosyaadi ." );";

MySQL insert error alıyorum
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
$dosyaadi=time()+rand(0,100000)."".$userfile_name;

gibi bir sey olması lazım..
 

eRLySL

0
İyinet Üyesi
Katılım
25 Mart 2008
Mesajlar
424
Reaction score
1
PHP:
$sayisayi = rand(99,999);
$date = time();
$dosyaadi = $sayisayi.$userfile_name.$date;

$query = "INSERT INTO `images` ( `id` , `boyut` , `indirilmesayisi` , `sonkullanim` , `tur` , `aciklamas`, `ip` , `rapor` , `ad`) VALUES ('', " . $userfile_size . ", '0', " . $date . ", " . '\'' . $userfile_type . '\'' . ", " . '\'' . $comments . '\'' . ", " . '\'' . $_SERVER['REMOTE_ADDR'] . '\'' . " , ''," . $dosyaadi ." );";

bu şekilde deneyin
 

gulut91

0
İyinet Üyesi
Katılım
3 Temmuz 2008
Mesajlar
0
Reaction score
0
sorunu cozdum sanırım $userfile_name i 2 sefer kullanmısım ilk sefer dosya adını okukken 2. sefer dosya adını değiştirirken boylece daha olusmamıs bir veriyi yazmaya calısıyormusum :) cok saolun cvplarınız icin
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Bir ek verelim, while() gibi döngülerde hata kontrolünü kendiniz yaptırabilirsiniz.
Mesela belirli bir alanda mükerrer değer olmayacak şekilde bir rassal sayı üretebilmek için.

PHP:
// $res değişkeni henüz set edilmediği için bu döngü sonsuz olarak
// başlar. 

while ($res != 1) {

$rand = rand(1,9999);
$q = mysql_query("SELECT id FROM kullanicilar WHERE id='$rand'");

  if (mysql_num_rows($q) == "0") {
  // boyle bir ID yok, rassal sayi ok
  $res = 1;
  // donguden cikilir.
  }

// aksi halde rassal sayi okeylenene kadar dongu doner.
}

echo "Rassal sayi ok: $rand <br>";
 

gulut91

0
İyinet Üyesi
Katılım
3 Temmuz 2008
Mesajlar
0
Reaction score
0
Bir ek verelim, while() gibi döngülerde hata kontrolünü kendiniz yaptırabilirsiniz.
Mesela belirli bir alanda mükerrer değer olmayacak şekilde bir rassal sayı üretebilmek için.

PHP:
// $res değişkeni henüz set edilmediği için bu döngü sonsuz olarak
// başlar. 

while ($res != 1) {

$rand = rand(1,9999);
$q = mysql_query("SELECT id FROM kullanicilar WHERE id='$rand'");

  if (mysql_num_rows($q) == "0") {
  // boyle bir ID yok, rassal sayi ok
  $res = 1;
  // donguden cikilir.
  }

// aksi halde rassal sayi okeylenene kadar dongu doner.
}

echo "Rassal sayi ok: $rand <br>";

cok teşekkürler biraz değişiklik yapınca gayet hos oldu
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
$resimler = mysql_query("select id from `images` order by id desc limit 0,1 ") or die(mysql_error());
$resim = mysql_fetch_array($resimler);
$sayi=$resim[id]+1;
:) bu şekilde yaparsan imkansız olur aynı sayıyı alması. En son eklenen resmin id sine 1 ekliyecek çünkü.
 

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

seo ajansı , sosyal medya yönetimi
Üst