Autor Zpráva
Shader
Profil
Zdravím, mám upload script, jenze kdyz nahraju soubor.rar a chci zase nahrát soubor.rar, tak se mi ten původní přepíše... a já bych chtěl přejmenovávat všechny soubory třeba na 175857574.rar , ale pokaždé jiní kombinace :) přikládám svůj UPLOAD.PHP

<?

if ($akce == "Nahrát!") {

  if ($soubor_type == "text/plain" or $soubor_type="text/html") {
    if (move_uploaded_file ($soubor, "$server/$soubor_name")) {
      print "Soubor<b> $soubor_name </b>o velikosti<b> $soubor_size </b>bajtů
       byl úspěšně uploadnut na server<BR>";
		echo "<br><b>Pro sdílení s kamarády:</b><br>";
echo "<textarea readonly name='code2' style='width:550px;height:20px;font-size:11px;color:#999999;' onClick=\'javascript:copyit('codeform.code2');\'>http://www.web.cz/php/$server/$soubor_name</textarea><br><br>";
echo "<b>Smazat soubor:</b><br>";
                echo "<textarea readonly name='code2' style='width:550px;height:20px;font-size:11px;color:#999999;' onClick=\'javascript:copyit('codeform.code2');\'>http://www.web.cz/php/smazat.php?d=$soubor_name</textarea><br><br>";                
echo "<table style='text-align: left; width: 234px; height: 190px;'
 border='0' cellpadding='2' cellspacing='2'>
  <tbody>
    <tr>
      <td><span style='font-weight: bold;'>N&aacute;hled:</span></td>
      <td><span style='font-weight: bold;'>Popis:</span></td>
    </tr>
    <tr>
      <td><a href='http://www.web.cz/php/$server/$soubor_name' target='_blank'><img
 style='border: 0px solid ; width: 150px; height: 150px;'
 alt='V&aacute;&scaron; soubor'
 src='http://www.web.cz/php/$server/$soubor_name'></a>
      </td>
      <td><textarea readonly='readonly' style='width: 240px; height: 20px;' name='popis'>$popis</textarea></td>
    </tr>
  </tbody>
</table>

";
echo "<br><b>Odkazy na email:</b> <form enctype='multipart/form-data' method='post'
 action='index.php?stranka=mail' name='om'><input name='email'
 value='@'> &nbsp; <input name='odeslat'
 value='Odeslat' type='submit'></form>
";
      mail ("vas@email.cz", "Nahrán nový soubor! [$soubor_name]",
       "Na server byl nahrán nový soubor\nJméno: $soubor_name\nPopis: $popis\nServer: $server\nIP: $REMOTE_ADDR\n",
       "From: uploadsystem@vasemail.cz\nX-web: http://www.web.cz/php/index.php");
    }
    else {
      print "Při nahrávání souboru došlo k chybě!<BR>";
    }
  }
  else {
    print "Soubor není požadového MIME typu!<BR>";
  }
}
?>


Předem děkuuji Shader
Taps
Profil
Shader
zkus využít funkce time
Shader
Profil
Taps
Aha ale to newím jak...
David14
Profil *
pocet sekund od 1.1.1970 vyhadzuje funkcia mktime() takze tak mozes dosta stale ine cislo
Medvídek
Profil
pouzij aktualni datum a cas a nazev souboru :)
Anonymní
Profil *
premenuj to na rand(1000000,9999999) a mas
Shader
Profil
Anonymní

Já právě newím vůbec "jak" na to rename, kam to ve scriptu vložit ( no asi někam před move_uploaded_file), natož jak ho napsat... :(
David14
Profil *
if (move_uploaded_file ($soubor, "$server/$soubor_name")) {
v tomto riadku sa subor premenuvava, v premennej $soubor je jeho povodne umiestnenie (napr. "www/soubory/archiv.rar"), v premennej $server je adresa do priecinka ("www/soubory) a v premennej $soubor_name je nazov noveho suboru ($novyarchiv.rar)
www je v priklade nazov domovskeho adresara.
No tak co ty potrebujes je dat do $soubor_name nejaky unikatny nazov, aby ti to nekolidovalo s subormi co uz tam su nahrate. Okrem toho ze sa da skontrolovat ci dany nazov suboru uz v priecinku existuje (napr. cez triedu class), mozes mu dat proste zarucene unikatny nazov a to pomocou funkcie mktime()(ako som uz pisal)(rand moze s velkym stastim vyhodit uz existujucu hodnotu :))
Takze si proste pred horeuvedeny riadok napis toto:

$arr = explode (".rar", $soubor_name);
$arr[0] = mktime();
$soubor_name = implode (".rar", $arr);
teraz sa novy subor vola 1231493243.rar

aby sa ti zachoval povodny nazov suboru,
mozes si napisat radsej toto:

$arr = explode (".rar", $soubor_name);
$pom = $arr[0];
$arr[0] = (mktime() - 1231493543);
$soubor_name = implode (".rar", $arr);
$soubor_name = $pom.$soubor_name;
echo $soubor_name;
David14
Profil *
echo vyhodi teraz nieco ako archiv433.rar
Shader
Profil
David14

Je to dobrý, akorát potřebuji aby to přejmenovávalo všechny formáty. a n ejenom .rar
David14
Profil *
tak si to uprav, co vobec nevies robit s PHP? ...
Shader
Profil
zkoušl jsem to upravit a hází to podivnou chybu... :), ještě na to mrknu a uvidím.... :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: