такая ошибка при попытке парсить файл загруженный на сервер. Если просто скопировать файл вручную(использую Денвер) ошибок при чтении файла не возникает.В чем причина помогите пожалуйста, уже весь интернет облазил ничего конкретного не нашел.
Я уже смотрел, не может прочесть файл...Вы знаете меня больше всего удивляет то, что если тупо скопировать нужный файл, все работает ,парсится без проблем...Если же загружаю с помощью рнр он не читается...и еще такая особенность, что в одну папку ложаться совершенно одинаковые файлы(имя, расширение)
для парсинга.. Код (Text): <?php $connect = mysql_connect("localhost","rau2",""); $db = mysql_select_db("baza2",$connect) or die(mysql_error()); $filename = 'tt.xls'; if (is_readable($filename)) { echo 'Файл доступен для чтения'; } else { echo 'Файл недоступен для чтения'; } require_once ('/Excel/reader.php'); $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('cp1251'); $data->setUTFEncoder('mb'); $data->read('tt.xls'); echo '<pre>'; print_r($data->sheets); echo '</pre>'; //echo '<pre>'; print_r($data->sheets); echo '</pre>'; error_reporting(E_ALL^ E_NOTICE); for($j=2; $j<=$data->sheets[0]['numRows']; $j++) // Начинаем выводить данные начиная со 2 строки { for($i=0; $i<=$data->sheets[0]['numCols']; $i++) // Начинаем выводить данные для всех столбцов { if(empty($data->sheets[0]['cells'][$j][$i])) { $row[] = "'empty'"; // Создаём массив из значений столбцов для каждой строки } else { $row[] ="'". $data->sheets[0]['cells'][$j][$i]."'"; // Создаём массив из значений столбцов для каждой строки } } $row = implode(',', $row); // Объединяем массив в строку, для запроса mysql $sql = "INSERT INTO t(id, name, old, ves, date) VALUES ($row)"; // Создаём запрос mysql mysql_query("SET NAMES 'cp1251'"); // Устанавливаем кодировку для mysql if(!mysql_query($sql)) // Выполняем запрос mysql { echo 'Error: '.mysql_error(); } else { echo 'Запись добавлена!<br>'; } unset($row); // Удаляем переменную, чтоб массив со строкой не путался } mysql_close($connect); ?> загрузка... Код (Text): <?php $uploaddir = 'xls/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "Файл корректен и был успешно загружен.\n"; } else { echo "Возможная атака с помощью файловой загрузки!\n"; } echo 'Некоторая отладочная информация:'; print_r($_FILES); print "</pre>"; ?>
после загрузки выводится "Файл корректен и был успешно загружен."? и еще, можно попробовать, сравни файлы на идентичность - исходный, и тот, что ты загрузил через пхп. ну хотябы в тоталкомандере есть такая функция прочитай диру через пхп, может там всё-таки есть какие-то различия?
Бдагодарю за советы...нашел в чем проблема(чисто случайно). рассказываю, вдруг кому пригодится т.к. я лично долго не мог решить эту проблему...... Когда уже не знал, что с этим делать, решил с нуля набрать эти два скрипта (вам я уже прислал рабочие), попробовал, все заработало... начал сравнивать старые и новые скрипты, совпадали они полностью, за исключением одной черты в скрипте загрузки файла на сервер... в старом скрипте было так Код (Text): $uploaddir = '/xls'; в новом так Код (Text): $uploaddir = 'xls/'; Вывод:одна черточка решает многое....