Autor | Zpráva | ||
---|---|---|---|
handuk Profil |
#1 · Zasláno: 28. 10. 2012, 12:56:54
Zdravím, upravuji jednu fotogalerii, tak aby fungovala i s českými znaky. Snažím se napsat funkci která:
1) přejmenuje uživatelem nahranou složku (z názvu se odstraní diakritika) 2) vytvoří soubor "caption.txt"a zapíše do něj název s diakritikou 3) soubor přejmenuje na ".caption" Tady je můj kód: function createCaption($album) { //$album posílám do funkce jako parametr pomocí $_GET['album'] $album = iconv('windows-1250','utf-8',$album); rename('$mainFolder.'/'.$album' , '$mainFolder.'/'. StrTr($album, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz"))' ); $filename = '$mainFolder.'/'.$album.'/caption.txt'; $handle = fopen($filename, 'x+'); fwrite($handle, $album); fclose($handle); rename($filename, '$mainFolder.'/'.$album.'/'.caption'); } Kód bohužel nefunguje, nevypadá to, že by prováděl nějaké změny. Pokud ale změní $filename jen na "'/caption.txt" tak se vytvoří prázdný soubor (samozřejmě v jiném adresáři"). V čem je ted problém? Děkuji za reakce! |
||
Chro Profil |
#2 · Zasláno: 28. 10. 2012, 13:36:17
1. Všude si oprav chybu, kdy ve funkcích i jinde před $ vkládáš apostrof. Správný syntax je např.
rename('blabla', $promenna.'/'.$promenna.'/'.$promenna); $text = 'čágo'; $pole = array( 'á' => 'a', 'č' => 'c' //atd. ); $bez_diakritiky = strtr($text, $pole); |
||
peta Profil |
#3 · Zasláno: 30. 10. 2012, 08:25:48 · Upravil/a: Moderátor (editace znemožněna) 20. 1. 2013, 00:00:32
Zkus pouzit pspad nebo nejaky program, co obarvuje php kod. Uz tady na foru je krasne videt, ze to nemas spravne zapsane.
'$mainFolder.'/'.$album' $a.$b je scitani promennych.
'aaa'.'bbb' je scitani retezcu (string).
'$a.'/'.$b' = '$a.'a dal nasleduje nesmysl, syntax error, ocekava se zde strednik nebo tecka .
Moderátor Davex: Odtud byly vytrženy příspěvky do nového tématu Nedaří se přejmenovat soubory načítané přes readdir.
|
||
Časová prodleva: 11 let
|
0