Autor | Zpráva | ||
---|---|---|---|
Jack06 Profil |
#1 · Zasláno: 30. 1. 2012, 17:35:06
Zdravím, chci se zeptat na následující. Potřebuju provést zálohu obrázků, ale také potřebuji, aby v názvu souboru byla možná diakritika.
Když běžně soubor zkopíruji: copy(old, new); či přejmenuji rename(old, new); tak i přesto, že stránka je v utf-8, když si dám echo nového názvu, tak je jak má být s diakritikou, se mi ten soubor uloží s paznakama a ne tak jak jsem chtěl. Proto se ptám zkušenějších, jak dosáhnout vytvoření (zkopírování) souboru s cílovým názvem obsahujícím diakritiku. To, že bych měl soubory radši psát bez diakritiky je mi jasné, ale pro účely využití to bohužel nejde. Díky za rady |
||
Keeehi Profil |
#2 · Zasláno: 30. 1. 2012, 18:02:02
Jack06:
„účely využití to bohužel nejde.“ Jste si jistý? Co třeba soubory přejmenovat na 0001.xxx, 0002.xxx, 0003.xxx a v databázi mít uloženo, že 0001.xxx je příliš.doc, 0002.xxx je žluťoučký.jpg, 0003.xxx je kůň.pdf? |
||
Jack06 Profil |
#3 · Zasláno: 30. 1. 2012, 18:41:07
Potřebuji ty soubory předat jako fotky dalšímu člověku a ten to chce právě takto :-) takže opravdu věřte že nejde. Kdyby to šlo, tak bych to udělal. Já to mám uložené u sebe bez diakritiky a hashuji jména, ale oni to chtějí pojmenovat podle určitých sloupců v db a ty mají diakritiku. DB mám pouze já oni ne. Takže asi tak :-)
|
||
Keeehi Profil |
#4 · Zasláno: 30. 1. 2012, 19:00:37
Jack06:
A to předání má vypadat jak? Vlezete na FTP, fotky stáhnete, zabalíte a pošlete třeba jako přílohu? Nebo jak by to mělo vypadat? |
||
Jack06 Profil |
#5 · Zasláno: 30. 1. 2012, 20:44:59
Mám svůj web, kde mám nějaké produkty a jejich fotky. Je firma, která chce s těmi fotkami pracovat v můj prospěch, ale vyžádali si aby se fotky jmenovali podle kategorie a parametru - ten parametr má diakritiku. Předávat to budu na DVD.
Je celkem jedno jak to bude vypadat Potřebuji prostě vytvořit soubor s diakritikou. A jestliže při uploadu mohu číst diakritiku, tak proč bych nemohl soubor zapsat s diakritikou. Jen se mi to nedaří :-D |
||
Keeehi Profil |
#6 · Zasláno: 30. 1. 2012, 20:50:42
Tak třeba pro stáhnutí obrázku i s diakritiku byste mohl využít toto:
header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=$nazev_s_diakritiou"); readfile($aktualni_nazev_souboru); |
||
Jack06 Profil |
#7 · Zasláno: 30. 1. 2012, 20:58:31
Já mám ten obrázek uložen třeba takto:
1sad56f4sa86d51fs6a5df4sa51df.jpg , ale potřebuji ho stáhnout jako ěščřžýáíé.jpg :-) Web mám na localu, takže mi nedělá problém použít nějaké funkce. Těch souborů je stovky a všechny potřebuju přejmenovat :-) |
||
Keeehi Profil |
Takže něco takového:
while($radek = mysql_fetch_array($vysledek)) { file_put_contents("./export/".$radek["vysledene_jmeno"],file_get_contents("./uloziste/".$radek["aktualni_jmeno"])); } |
||
Jack06 Profil |
#9 · Zasláno: 31. 1. 2012, 08:16:28
ano, ale to neudrží diakritiku..
|
||
joe Profil |
#10 · Zasláno: 31. 1. 2012, 08:33:38
Je třeba si překonvertovat název souboru do správného kódování:
$filename = iconv("UTF-8", "CP1250", "můjnázevsouboruščřžýáíé.bck"); $content = "muj obsah"; file_put_contents($filename, $content); |
||
Jack06 Profil |
#11 · Zasláno: 31. 1. 2012, 08:39:33 · Upravil/a: Jack06
Lol nakonec vyřešeno tak, že jsem nastavil hlavičku na windows-1250 a set names na cp1250, a frčí to :-) Ikdyž v db jsou utf8 data :-D
o a nebo tak joe, ještě zkusím :-) |
||
Časová prodleva: 11 let
|
0