Autor | Zpráva | ||
---|---|---|---|
HGD Profil |
#1 · Zasláno: 22. 8. 2007, 17:06:18
zdravim, potřeboval bych poradit, jak po uploadu obrázku nebo souboru změnit název na nějaký řetězec ?
Používam normální názvy po uploadu a je tam hroznej problém s diakritikou... díky za pomoc |
||
bukaj Profil |
#2 · Zasláno: 22. 8. 2007, 17:14:48
HGD
Pokud jde o odstranění diakritiky, tak to se tu už hodněkrát řešilo. A vygenerování náhodného řetězce taky. Stačí hledat. A pro přejmenování souboru může posloužit třeba fce rename(). |
||
HGD Profil |
#3 · Zasláno: 22. 8. 2007, 18:29:49
mno, tak sem to nakonec vyřešil přes Time(), ale nějak mi nefunguje to rename ()
mam kód: <?php if(isset($_POST['sent'])){ $type = $_FILES['soubor']['type']; $orig_name = $_FILES['soubor']['name']; $size = $_FILES['soubor']['size']; if ($type == "image/jpeg" or $type=="image/gif" or $type=="image/png") { $date = StrFTime("%H%M%S%d%m%y", Time()); $name = (rename("$orig_name", "$date")); if (move_uploaded_file ($soubor, "data/$name")) { $size = ($size > 512)?( ($size/1024 > 512) ?sprintf("%.02f MB",($size/1024)/1024) :sprintf("%.02f kB",$size/1024)) :sprintf("%d B",$size); header("location: index.php?page=count&size=$size&name=$name"); }else{ header("location: index.php?page=upload&new=ko"); } }else{ header("location: index.php?page=upload&typ=ko"); } } ?> |
||
Apostolus Profil |
#4 · Zasláno: 22. 8. 2007, 18:46:48
Nevím, proč to nefunguje, ale napadá mě, že nepočítáš s koncovkou, změníš název souboru, změníš název na 18454525425, ale ne na obrázek + kde bereš proměnnou $soubor?
|
||
HGD Profil |
#5 · Zasláno: 22. 8. 2007, 18:56:41
mno a jak tam přidam asi koncovku?
$orig_name je název souboru i s koncovkou $soubor beru z formuláře |
||
Apostolus Profil |
#6 · Zasláno: 22. 8. 2007, 19:19:59
$soubor změň na $soubor = $_FILES['soubor'][''tmp_name''];
a koncovku získáš pomocí explode.. $getExt = explode ('.', $orig_name); $file_ext = $getExt[count($getExt)-1]; //zajistíš, že pokud soubor se jmenuje "bla.bla.jpg" tak opravu veme poslední koncovku a pak uplodneš: move_uploaded_file ($soubor, "data/$name.$file_ext")) |
||
HGD Profil |
#7 · Zasláno: 22. 8. 2007, 19:51:27
mno, tak takle by to už fungovalo, akorát to hází error:
Warning: rename(av_admin.gif,194815220807.gif): nen? souborem ani adres??em in /3w/xf.cz/h/h-upload/a/uvod.php on line 38 |
||
Apostolus Profil |
#8 · Zasláno: 22. 8. 2007, 20:02:57 · Upravil/a: Apostolus
tak to udělej bez rename...tady si myslím, že by si mohl přejmenovat jen $_FILES['soubor'][''tmp_name'']; protože ten je uložený v tempu, zatímco $_FILES['soubor']['name']; je jen název toho souboru
ale udělej to bez toho, prostě přidej do proměný $name ten time $name = $date; |
||
Časová prodleva: 17 let
|
0