| 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: 14 let
|
|||
0