За последние 24 часа нас посетили 50276 программистов и 1758 роботов. Сейчас ищут 1177 программистов ...

Получение полного пути из input type="file"

Тема в разделе "JavaScript и AJAX", создана пользователем igroc, 9 сен 2014.

  1. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    Всем привет
    есть код который загружает данные из xls файла
    Код (Text):
    1. <?
    2. session_start();
    3.  
    4.  
    5. $connect = mysql_connect("localhost","root","");
    6. $db = mysql_select_db("baza",$connect) or die(mysql_error());
    7.  
    8.  
    9.     require_once ('Excel/reader.php');
    10.     $data = new Spreadsheet_Excel_Reader();
    11.     $data->setOutputEncoding("UTF-8"); //Кодировка выходных данных
    12.     $data->read($_POST["fl"]);
    13.     error_reporting(E_ALL);
    14.  
    15. for ($i=2; $i<=$data->sheets[0]["numRows"]; $i++){
    16.         $cell1 = $data->sheets[0]['cells'][$i][1];
    17.         $cell2 = $data->sheets[0]['cells'][$i][2];
    18.         $cell3 = $data->sheets[0]['cells'][$i][3];
    19.         $cell4 = $data->sheets[0]['cells'][$i][4];
    20.         $cell5 = $data->sheets[0]['cells'][$i][5];
    21.  
    22.  
    23.  
    24.         $ins="INSERT INTO tovar (id,razdel,podrazdel,tovar,opisanie,prais,idprod,code,login)  VALUES('','$cell1','$cell2','$cell3','$cell4','$cell5','1','".$_SESSION['code']."','".$_SESSION['login']."')";
    25.  
    26.         $query = mysql_query($ins);
    27. }      
    28.   if(!$query){die('Ошибочка');}
    29.   else{echo "Добавлено";}
    30.  
    31.  
    32. ?>
    есть форма выбора файла
    Код (Text):
    1. <p><b>Обновление прайс-листа</b></p>
    2.     <b>Выберите файл Excel</b><br />
    3.     <input type="file" accept="application/x-msexcel" name="filename" size="15" /><br><br>
    4.     <input type="submit" value="Загрузить" onclick="fl();"/><br>
    есть js
    Код (Text):
    1. function fl(){
    2.     $.ajax({
    3.         type: "POST",
    4.         url: "../xls/example.php",
    5.         data: "fl="+$("input[type=file]").val(),
    6.         success: function(response){
    7.             $('#response').html(response);
    8.         }
    9.     });
    10. };
    при обработке пишет что обрабатывает файл C:\fakepath\1.xls
    а надо полный и правильный путь
    что делать???
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Сомневаюсь, что вы можете получить путь к файлу на удаленном компьютере. Если только на сервере, куда вы его загрузили.
     
  3. LapaTunChik

    LapaTunChik Активный пользователь

    С нами с:
    19 июл 2008
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Украина
    Если вы хотите с помощью AJAX отправить файл - поищите плагин jQuery uploadify.
    Данные файла с помощью JavaScript не считать - в браузерах стоит защита на это, представьте сколько бы данных можно было стянуть с компьютеров пользователя при первой загрузке.

    Думаю автору нужно объяснить что он пытается сделать.
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Что за чушь? HTML5 File API. А если вы про путь имели в иду, то так и надо писать, что получить доступ к файловой системе клиента - не получится.
     
  5. igroc

    igroc Активный пользователь

    С нами с:
    15 июл 2014
    Сообщения:
    75
    Симпатии:
    1
    как связать первый код с формой
     
  6. LapaTunChik

    LapaTunChik Активный пользователь

    С нами с:
    19 июл 2008
    Сообщения:
    31
    Симпатии:
    0
    Адрес:
    Украина
    сколько нужно костылей написать что бы это заработало? и будет ли это все работать во всех популярных браузерах?

    Добавлено спустя 2 минуты:
    как вариант прочитай вот это http://php.ru/manual/features.file-upload.post-method.html
    это самый простой и обычный вариант

    Использовать возможности HTML5 можно только в веб приложениях, на сайтах которыми люди пользуются лучше стандартные варианты.