[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Загрузка картинок на сервер
tureg1
Собственно задача заключается в том, что бы картинки с русским названием загружались на сервер. Сейчас загружаются только с латинским названием и цифрами. Код следующий (кусок кода, не имеющее отношения к проблеме вырезал):


$data1 = $_FILES['aph_userfile1']['name'];

$imgDir = dirname(__file__) . "/photo/albums/";
// уже после этого момента, в папку photos/albums загружается файл без названия, только одно расширение (например ".jpg") если в название из русских букв

$uploadfile = $imgDir . basename($_FILES['aph_userfile1']['name']);
move_uploaded_file($_FILES['aph_userfile1']['tmp_name'], $uploadfile);

crop("photo/albums/$data1", "../images/albums/$password1.jpg");
resize("../images/albums/$password1.jpg", "../images/albums/$password1$tumb_prefix.jpg", 100, 100);
resize("photo/albums/$data1", "../images/albums/$password1.jpg", 700, 0);
tureg1
Ну что никто, не сталкивался с такой задачей?
Valick
а зачем например мне сталкиваться с такой "задачей"?
оригинальное название картинки на любом языке я храню в БД, на диск пишу картинку с именем идентификатором из БД
__
а так iconv вам в помощь
http://phpforum.ru/index.php?showtopic=71278

_____________
Стимулятор ~yoomoney - 41001303250491
tureg1
Делаю так:


$nn1 = basename($_FILES['aph_userfile1']['name']);
$nnn1 = iconv('cp1251', 'UTF-8', "$nn1");

echo "$nnn1 - Название 1<br>";


Переменную $nnn1 - не отображает, что я делаю не правильно?
Valick
зачем кавычки?
$nnn1 = iconv('cp1251', 'UTF-8', $nn1);


_____________
Стимулятор ~yoomoney - 41001303250491
tureg1
т.е. не "не отображает", а пишет просто ".jpg" (с английскими все норм)

без кавычек тоже самое, они в данном случае роли не играют
Valick
$nnn1 = iconv("utf-8", "cp1251", $nn1);


_____________
Стимулятор ~yoomoney - 41001303250491
tureg1
Цитата (Valick @ 17.07.2013 - 05:15)
$nnn1 = iconv("utf-8", "cp1251", $nn1);

и в обратную сторону тоже пробовал, и замена на транслит, тоже не помогает

$nnn1 = iconv("utf-8", "cp1251//TRANSLIT", basename($_FILES['aph_userfile1']['name']));


как будто теряется где то название
Valick
<?php
header('Content-Type: text/html; charset=utf-8');
if(isset($_POST['go'])){
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
$uploadfile = iconv("utf-8", "cp1251", $uploadfile);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Файл корректен и был успешно загружен.\n";
} else {
echo "Возможная атака с помощью файловой загрузки!\n";
}
echo 'Некоторая отладочная информация:<br />';
print_r($_FILES);
print "</pre>";
}
?>
<form>
<
input type="file" name='userfile'><br />
<
input type="submit"
name = "go"
formenctype = "multipart/form-data"
formmethod = "post"
value="Загрузить">
</
form>


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.