Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

random isim

gulut91

0
Onaylı Üye
Üye
Katılım
3 Temmuz 2008
Mesajlar
0
Açılan Konu
4
Tepki puanı
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
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
resimismi+tarih+yanına 2-3 karakter rasgelesayi.jpg olsa herhalde aynı olan olmaz :)
 

gulut91

0
Onaylı Üye
Üye
Katılım
3 Temmuz 2008
Mesajlar
0
Açılan Konu
4
Tepki puanı
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
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
$dosyaadi=time()+rand(0,100000)."".$userfile_name;

gibi bir sey olması lazım..
 

eRLySL

0
Onaylı Üye
Üye
Katılım
25 Mart 2008
Mesajlar
424
Açılan Konu
12
Tepki puanı
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
Onaylı Üye
Üye
Katılım
3 Temmuz 2008
Mesajlar
0
Açılan Konu
4
Tepki puanı
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
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
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
Onaylı Üye
Üye
Katılım
3 Temmuz 2008
Mesajlar
0
Açılan Konu
4
Tepki puanı
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
Onaylı Üye
Üye
Katılım
12 Mayıs 2007
Mesajlar
3,749
Açılan Konu
428
Tepki puanı
61
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ü.
 
Üst