dandandan
Мой дом здесь!
- Регистрация
- 7 Авг 2008
- Сообщения
- 1.036
- Реакции
- 293
- Автор темы
- #1
Принудительнов всем php файлам кодировку утф 8 задаю. (По умолчанию она вроде называется Западноевропейская. В заподноевропейской - русские буквы - крякозяблы.)
Задача - переконвертировать массово картинки из директории.
Делаю обход директории с картинками. По умолчанию почему-то выдаются имена файлов в кодировке 1251 .
Почему ?
Далее полученные имена файлов по одному передаются скрипту (аяксом). Выдергивается href с ссылки. PHP скрипт не может получить русские имена файлов для выполнения imagecreatefrompng или jpg или gif. С английскими именами файлов - все путем.
Как это обойти?
Задача - переконвертировать массово картинки из директории.
Делаю обход директории с картинками. По умолчанию почему-то выдаются имена файлов в кодировке 1251 .
Почему ?
PHP:
function get_files_from_dir($dir){
if ($handle = opendir($dir)) {
$countNumFila=0;
$txt='<table width="100%" border="0">';
while (false !== ($file = readdir($handle))) {
//echo $file;
if ($file != "." && $file != "..") {
if ((is_file($dir.'/'.$file)) && ($file!='.htaccess') ){
$massiv_image[]=$countNumFila;
$txt.='<tr>
<td align="left"><a href="../../uploadimages/'.iconv('cp1251', 'UTF-8', $file).'" title="'.iconv('cp1251', 'UTF-8', $file).'" target="_blank" id="fileid'.$countNumFila.'">'.iconv('cp1251', 'UTF-8', $file).'</a></td>
<td align="left" id="formaid'.$countNumFila.'"> </td>
</tr>';
$countNumFila++;
}
}
}
closedir($handle);
$txt.='</table>';
$txt1='Всего файлов: '.$countNumFila.'<br /><br /><input name="df" type="button" value="Начать загрузку" onmousedown="begin_upload_files(\''.@implode('_', $massiv_image).'\');" />';
}
return $txt1.$txt.$txt1;
}
Далее полученные имена файлов по одному передаются скрипту (аяксом). Выдергивается href с ссылки. PHP скрипт не может получить русские имена файлов для выполнения imagecreatefrompng или jpg или gif. С английскими именами файлов - все путем.
Как это обойти?