Imagini in baze de date

PEAR, Smarty, ADOdb, OOP, PHP 5, XML, UML, Şabloane de proiectare, PHP-GTK.

Moderatori: coditza, Emil, Moderatori

Avatar utilizator
black diamond
Senior Member
Mesaje: 298
Membru din: Lun Mai 23, 2005 8:42 pm
Contact:

Mesajde black diamond » Sâm Apr 01, 2006 9:03 am



|
p.s. pentru anumite lucruri trebuie un dram de logica si rabdare... sau o cautare scurta pe net. faceti uz de google!

Avatar utilizator
kelye
Senior Member
Mesaje: 230
Membru din: Vin Ian 20, 2006 10:42 pm
Localitate: Bucuresti
Contact:

Mesajde kelye » Lun Apr 03, 2006 6:08 pm

si de ce ma rog nu poti sa faci un :
[php]
for ($i=1; ; $i++)
{
if ( ! is_file($nume_poza . '_' . $i .'.jpg') )
{
$nume_nou = $nume_poza . '_' . $i .'.jpg';
break;
}
}
[/php]

la random ala ai 0.0000000x.1 sanse ca totusi sa ai acelasi nume .. asa.. nu vad cum :D

Ground.Zero
Average Member
Mesaje: 102
Membru din: Mar Mar 01, 2005 2:08 pm
Localitate: Bucuresti
Contact:

Mesajde Ground.Zero » Lun Apr 03, 2006 9:46 pm

o alta varianta ar fi:

[php]

function ren_tstamp($input) {
list($usec, $sec) = explode(" ",microtime());
return str_replace('.', '', (float)$usec + (float)$sec).'_'.$input;
}

$new_file = ren_tstamp($file);[/php]

coditza
Senior Member
Mesaje: 298
Membru din: Vin Ian 23, 2004 7:30 pm
Localitate: cluj-napoca

Mesajde coditza » Mar Apr 04, 2006 11:02 am

function foo() { foo(); }

Ground.Zero
Average Member
Mesaje: 102
Membru din: Mar Mar 01, 2005 2:08 pm
Localitate: Bucuresti
Contact:

Mesajde Ground.Zero » Mar Apr 04, 2006 12:59 pm

:lol: noah... daca se uploadeaza in ritmu' ala crapa serveru pan' la urma :lol:

anyway... nice

coditza
Senior Member
Mesaje: 298
Membru din: Vin Ian 23, 2004 7:30 pm
Localitate: cluj-napoca

Mesajde coditza » Mar Apr 04, 2006 4:32 pm

Daca fac 2 omuleti upload exact in acelasi timp la un fisier cu acelasi nume o sa apara conflicte.
function foo() { foo(); }

Pirahna
Senior Member
Mesaje: 5985
Membru din: Dum Aug 22, 2004 2:04 am
Localitate: la birou
Contact:

Mesajde Pirahna » Mar Apr 04, 2006 6:14 pm

ok ...

atunci pune

rand(4 cifre).timestamp.numefisier.extensie !!!
|

carco
Senior Member
Mesaje: 2799
Membru din: Joi Mai 27, 2004 4:36 pm
Localitate: Bucuresti
Contact:

Mesajde carco » Mar Apr 04, 2006 6:17 pm

nee $_SERVER['REMOTE_ADDR'].sessionid().uniqid('').rand(4 cifre).timestamp.numefisier.extensie
Programator cu experienta in Magento/ZF, Typo3/Flow3, Symfony, B2B, CRM, ERP, SMB... vand betoniera

johnny
Senior Member
Mesaje: 904
Membru din: Sâm Iul 31, 2004 12:22 pm
Localitate: Bucuresti
Contact:

Mesajde johnny » Mar Apr 04, 2006 10:00 pm

[php]
$filename = md5($_SERVER['REMOTE_ADDR'].sessionid().uniqid('').rand(4 cifre).timestamp.numefisier).extensie;
?>
[/php]

cu un seed pentru random :D (sau poate sha1 in loc de md5 ... ca sa nu arate urat cu ip-ul ala acolo .... )

Avatar utilizator
Mascka
Senior Member
Mesaje: 1376
Membru din: Sâm Oct 01, 2005 8:00 am
Localitate: Braila
Contact:

Mesajde Mascka » Mar Apr 04, 2006 10:32 pm

or

coditza
Senior Member
Mesaje: 298
Membru din: Vin Ian 23, 2004 7:30 pm
Localitate: cluj-napoca

Mesajde coditza » Mie Apr 05, 2006 8:16 am

function foo() { foo(); }

alina_ally23
PHPRomania Supporter
Mesaje: 17
Membru din: Mie Mar 30, 2005 10:58 pm
Contact:

Mesajde alina_ally23 » Sâm Ian 06, 2007 9:46 am


alopia
Junior Member
Mesaje: 36
Membru din: Dum Sep 02, 2007 10:53 pm
Contact:

Mesajde alopia » Sâm Sep 15, 2007 5:47 am

Ultima oară modificat Sâm Sep 15, 2007 6:57 am de către alopia, modificat 1 dată în total.

alopia
Junior Member
Mesaje: 36
Membru din: Dum Sep 02, 2007 10:53 pm
Contact:

Mesajde alopia » Sâm Sep 15, 2007 6:30 am

Ah si ma amuza nebunia generarii unui nume aleatoriu... asa ca am sa contribui cu alta remarca aberanta meniuta sa mai toarne niste gaz pe foc :twisted: Lumea uita de srand(). Solutia folosita pentru seed pe server este foarte probabil sa fie folosirea numarului de milisecunde trecute...

Tada ... cu alte cuvinte este o posibilitate sa va treziti in situatia ca doua scripturi lansate in paralel in aceiasi milisecunda sa genereze aceleasi numere aleatoare. Sa emulam situatia cu urmatorul script:

<?php
srand (114413794874);
echo rand();
echo '<br />';
echo rand();
echo '<br />';
echo rand();
?>

De fiecare data cind rulati scriptul veti vedea aceleasi valori :D
Asadar daca faceti rand(4 cifre).timestamp rand generind numere in functie de timestamp adaugarea timestamp nu ajuta la absolut nimic :) Obtineti doar ceva de genul asta:

<?php
srand (114413794874);
echo rand();
echo '_114413794874<br />';
echo rand();
echo '_114413794874<br />';
echo rand();
echo '_114413794874<br />';
?>

Funny nu ? :P

Aberatia numarul 2: generarea imaginilor continind coduri de securitate.
Daca stim:
- milisecunda cind porneste scriptul
- timpul scurs pina la apelul functiei rand()
Putem estima ce seed s-a folosit asadar putem calcula codul de securitate generat :) Asta ma face sa ma gindesc ca afisarea "Aceasta pagina a fost generata in x milisecunde" in partea de jos a site-ului meu nu e o idee prea geniala :lol:

AurelianToma
PHPRomania Supporter
Mesaje: 8
Membru din: Mie Mar 11, 2009 6:59 am

Mesajde AurelianToma » Joi Mar 12, 2009 11:19 pm



Înapoi la “PHP Avansat”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori