» »

[PHP] Šumniki v imenu datoteke

[PHP] Šumniki v imenu datoteke

Binji ::

Torej problem... delam fotogalerijo, kjer uporabniki uploadajo slike. Vse deluje, dokler se ne uploadajo slike s šumniki v imenu. Ime v bazi je namreč pravo, na disku se pa shranijo šumniki v nekem drugem encodingu.
Da šumniki v imenu niso najboljša ideja mi je jasno, zato iščem en učinkovit način, kako se jih rešiti. Lahko bi sicer šel in naredil str_replace za vse šumnike, vendar upam, da obstaja še kakšen drugi način, ki se po možnosti reši še kakšnih drugih problematičnih znakov.
Vsi predlogi so dobrodošli :)
Kdor ne navija ni Slovenc, hej, hej, hej!

krho ::

Mogoče kar id iz baze?. Pa glej, da boš razbil slike v poddirektorije!! recimo po 1000 slik v enem...
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

Phoebus ::

binji, mkožnosti imaš več.
ko uploadaš (move_uploaded_file()) ga lahko preimenuješ v neko random ime (npr. time()+ nek string, vzet iz prvotnega imena); s tem boš rešil tudi problem več istoimenskih fajlov.
Potem, če se greš upload celih skupin naenkrat za galerijo, si lahko pomagaš s bash ukazom (unix only) "a=1; for b in *.jpg; do mv $b $a.jpg; let a=a+1; done;" ki bo vse slike v direktoriju (jpg) preimenoval v 1.jpg ...n.jpg.

In tako dalje; možnosti imaš veliko.

t3hn0 ::

sumnikov se ponavad ne da spremenit s str_replace(), ker jih ne najde(?)
^.^

Phoebus ::

vse se da, lahko si pomagaš tudi z regexpom in povlečeš iz imena fajla samo "dovoljene" znake [a-z][A-Z][0-9]

Baja ::

jaz slike poimenujem tako da naredim md5_file(), zraven pa dodam sirino slike. tako ime zgleda nekako takole abc64ba...66abcf_500.jpg. S tem dobis unikatno ime za vsak fajl posebaj (ni mozno da bi nekdo prepisal kako sliko), sirina pa je zraven ce slucajno uploadas sliko v dveh velikostih, da se ne prepise.

pa se moje vprasanje/razmisljanje. pri zgornjem poimenovanju je edino problem da slike niso SEO friendly. pri galeriji to mogoce ni tako pomembno, je pa recimo pri slikah ob vsebini. zato sem razmisljal da bi slike s pomocjo mod_rewrita in nekega php fajla preimenoval v bolj prijazna. razmisljam nekako takole. v html iz baze izpisem opisno ime slike, nato pa bi z mod_rewrite in php skripto poiskal na disko pravo datoteko, prebral e-to, in jo vrnil browserju kot sliko.

je kdo ze poskusil kaj takega?

Binji ::

Heh, se pozna, da je bila takrat, ko sem pisal, ze malo pozna (zgodnja ura), ker mi taka preprosta resitev kar ni padla v glavo... Hvala Phoebus... bom uporabil kar tisto taprvo resitev :)
Kdor ne navija ni Slovenc, hej, hej, hej!

hamax ::

Tudi jaz imam podoben problem pri predogledu datotek s sumniki.
Pri tistih, ki se nalozijo preko skripte ni problema, ker odstranim sumnike in dodam utime, da se znebim podvajanja, problem pa je pri datotekah, ki so ze na disku, ali pa jih nekdo nalozi preko ftp-ja.
Ima kdo kak pameten predlog kako se resiti iz te zagate?

Baja ::

lahko si spises skripto, ki z dolocene mape prebere vse datoteke in jih ustrezno preimenuje.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

šumniki pretvarjanje z php

Oddelek: Programiranje
203261 (2994) FrEaKmAn
»

Šumniki in MySql

Oddelek: Izdelava spletišč
196657 (6194) SPEEEED
»

Stran je UTF8 - view siource ni UTF8

Oddelek: Izdelava spletišč
81931 (1808) gregy
»

MySQL in czs

Oddelek: Izdelava spletišč
423599 (2689) krho
»

Mail & #353; a.k.a š v plain text ne dela?

Oddelek: Programiranje
82043 (1979) b

Več podobnih tem