SupremeWin

HTML input file прикрепление к другим полям через PHP

Рекомендованные сообщения

Здравствуйте всем!

Интересует такое решение задачки. Имеется вот такой вот HTML код

<input type="text" name="comp" placeholder="Comp" /><br> 

<input type="text" name="name[]" placeholder="name1" /><br>

<input type="text" name="desc[]" placeholder="desc1" /><br> 

<input type="file" name="files[]" multiple /><br> 

<input type="text" name="name[]" placeholder="name2" /><br> 

<input type="text" name="desc[]" placeholder="desc2" /><br> 

<input type="file" name="files[]" multiple /><br>

Как создать массив с названиями файлов которые были выбраны в первом или втором input. Имеется скрипт практически рабочий, но имеет дефект, что вместо названия файла имеется иероглиф

$this_is_it = array(); 

$post = array_values($_POST); 

for($j = 0; $j < count($post[1]); $j++){ 

for($u = 0; $u < count($post[3]); $u++){ 

$this_is_it['order_' . ($j + 1)] = array( 

'name' => $post[1][$j],

'desc' => $post[2][$j], 

'attach' => $post[3][$j] 

);

} 

}

Выводит он при этом:

array(2) { ["order_1"]=> array(3) {

["name"]=> string(4) "lala" 

["desc"]=> string(7) "lalalal" 

["attach"]=> string(1) "�" } 

["order_2"]=> array(3) { 

["name"]=> string(5) "name2" 

["desc"]=> string(5) "desc2" 

["attach"]=> string(1) "�" } }

А должен:

array ( 'order_1' => array ( 

'name' => 'name1', 

'desc' => 'desc1',

'attach' => 'картинка.jpg', ), 

'order_2' => array ( 

'name' => 'name2',

'desc' => 'desc2',

'attach' => 'картинка_2.jpg', ),)

Что делать, как быть?

Изменено пользователем SupremeWin
Не точность

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А на сколько принципиально русское название файлов? Может просто переводить в транслит? (Проблема может быть связана с unix сервером).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 23.02.2017 в 19:51, SupremeWin сказал:

Здравствуйте всем!

Интересует такое решение задачки. Имеется вот такой вот HTML код


<input type="text" name="comp" placeholder="Comp" /><br> 

<input type="text" name="name[]" placeholder="name1" /><br>

<input type="text" name="desc[]" placeholder="desc1" /><br> 

<input type="file" name="files[]" multiple /><br> 

<input type="text" name="name[]" placeholder="name2" /><br> 

<input type="text" name="desc[]" placeholder="desc2" /><br> 

<input type="file" name="files[]" multiple /><br>

Как создать массив с названиями файлов которые были выбраны в первом или втором input. Имеется скрипт практически рабочий, но имеет дефект, что вместо названия файла имеется иероглиф


$this_is_it = array(); 

$post = array_values($_POST); 

for($j = 0; $j < count($post[1]); $j++){ 

for($u = 0; $u < count($post[3]); $u++){ 

$this_is_it['order_' . ($j + 1)] = array( 

'name' => $post[1][$j],

'desc' => $post[2][$j], 

'attach' => $post[3][$j] 

);

} 

}

Выводит он при этом:


array(2) { ["order_1"]=> array(3) {

["name"]=> string(4) "lala" 

["desc"]=> string(7) "lalalal" 

["attach"]=> string(1) "�" } 

["order_2"]=> array(3) { 

["name"]=> string(5) "name2" 

["desc"]=> string(5) "desc2" 

["attach"]=> string(1) "�" } }

А должен:


array ( 'order_1' => array ( 

'name' => 'name1', 

'desc' => 'desc1',

'attach' => 'картинка.jpg', ), 

'order_2' => array ( 

'name' => 'name2',

'desc' => 'desc2',

'attach' => 'картинка_2.jpg', ),)

Что делать, как быть?

Попробуйте перекодировать элемент массива : http://php.net/manual/ru/function.mb-convert-encoding.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: artaka
      Работаю верстальщиком за небольшую плату (100-300руб в зависимости от работы) Связь со мной : 
      VK vk.com/artakagrand
      Telegram @artakagrand
      email fefsert@gmail.com
      Примеры работ:
      http://teslamodelx.epizy.com
      http://teslamodelx.epizy.com/infoblog/index.html
      http://teslamodelx.epizy.com/blog/index.php
    • Автор: ZAMPOREZKE
      Оцените верстку и скажите, что не так.Заранее спасибо.
      https://zamporezke.github.io/
    • Автор: PShim
      Здравствуйте. Подскажите пожалуйста, что стоит дописать в скрипт чтобы файл сохранялся со стилем(css). Есть свой скрипт и есть взятый из jq(https://www.jqueryscript.net/other/Export-Html-To-Word-Document-With-Images-Using-jQuery-Word-Export-Plugin.html). 
      function Export2Doc(element, filename = ''){ var preHtml = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>Export HTML To Doc</title></head><body>"; var postHtml = "</body></html>"; var html = preHtml+document.getElementById(element).innerHTML+postHtml; var blob = new Blob(['\ufeff', html], { type: 'application/msword' }); var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html); filename = filename?filename+'.doc':'document.doc'; var downloadLink = document.createElement("a"); document.body.appendChild(downloadLink); if(navigator.msSaveOrOpenBlob ){ navigator.msSaveOrOpenBlob(blob, filename); }else{ downloadLink.href = url; downloadLink.download = filename; downloadLink.click(); } document.body.removeChild(downloadLink); }  
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.