Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как правильно передать файлы на сервер с русским именем с помощью AJAX

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
zypikov
Отправлено: 28 Мая, 2012 - 02:15:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




Есть обычная форма с помощью транспорта iFrame отправляет файлы на сервер.
Как правильно передать файлы на сервер с русским именем?


-----
У всего есть обратная сторона.
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Мая, 2012 - 03:06:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




 
 Top
zypikov
Отправлено: 28 Мая, 2012 - 14:26:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




DeepVarvar пишет:
iconv
ну это со стороны сервера.
Нужно ли кодировать на стороне клиента русское имя файла функцией encodeURIComponent?

CODE (html):
скопировать код в буфер обмена
  1. <form action="ajax/upload.php" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="startUpload();" >
  2.                      <p id="f1_upload_process">Loading...<br/><img src="cssRules/images/loader.gif" /><br/></p>
  3.                      <p id="f1_upload_form" align="center"><br/>
  4.                          <label>File:
  5.                               <input name="myfile" type="file" size="30" />
  6.                          </label>
  7.                          <label>
  8.                              <input type="submit" name="submitBtn" class="sbtn" value="Upload" id = 'submitBtn' onclick="toUnicode(this);"/>
  9.                          </label>
  10.                      </p>
  11.                      <iframe id="upload_target" name="upload_target" src="#" ></iframe>
  12.                  </form>


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function toUnicode(str){
  3.       str = encodeURIComponent(str);
  4.          document.getElementsByName('myfile')[0].value = str;
  5.  
  6.     }
  7.  


И как правильно перекодировать из uft-8 windows-1251?
Можно ли так?

PHP:
скопировать код в буфер обмена
  1. $name =  iconv('utf-8','cp1251',basename( $_FILES['myfile']['name']));  

Похожая тема
http://forum.php.su/topic.php?fo...0&topic=1331 . Жаль JustUserR не привел кусок кода как непосредственно преобразовать имя файла функцией encodeURIComponent((


-----
У всего есть обратная сторона.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB