Здравствуйте, у меня такая проблема. Есть у меня csv файл, размер которого 70 мб и там 50000 строк. Нашел код для автоматической загрузки csv в таблицу в базе. После некоторых изменений код начал работать, но оно загружает примерно 60 строк из 50000, и больше не загружает. Пробовал все но не смог решить эту проблему. Кто не будь сможет мне в этом помочь? Я навичок Вот код PHP: <?php error_reporting(0); // Выключаем показ ошибок. Чтобы их видеть - вместо 0 поставьте E_ALL include('db_conn.php'); $max_file_size = 70; // Максимальный размер файла в МегаБайтах if($_POST['update']=='OK'){ // СТАРТ Загрузка файла на сервер if($_FILES["filename"]["size"] > $max_file_size*1024*1024){ echo 'Размер файла превышает '.$max_file_size.' Мб!'; include('form_file_load.php'); exit; } if(copy($_FILES["filename"]["tmp_name"],$path.$_FILES["filename"]["name"])){ echo("Добавление "."<b>".$_FILES["filename"]["name"]."</b>"." завершена!<br />"); } else{ echo 'Սխալ է տեղի ունեցել<br>'; include('form_file_load.php'); exit; } $file = fopen('php://memory', 'w+'); fwrite($file, iconv('UTF-8', 'UTF-8', file_get_contents($_FILES["filename"]["name"]))); rewind($file); $r = 1; while (($row = fgetcsv($file, 1000, "|")) != FALSE) { $r++; if($r == 1) {continue;} // Не дает записать в БД Заголовки Прайс-листа $ins="INSERT INTO `table1` (`PLAYER`,`PICTURE`,`RUSMETA`,`ENGTITLE`,`ENGDESCRIPTION`,`GENRE` )VALUES('$row[0]','$row[1]', '$row[2]', '$row[3]', '$row[4]', '$row[5]')"; $query = mysql_query($ins); if(!$query) die('Սխալ!!!'); } fclose($file); echo 'Добавлен - '.$r; header('Location: index.php'); } else{ include('form_file_load.php'); } ?>
В причинах пробовали разобраться? Что в логах, есть ли ошибки? А вообще, большой объём лучше загружать пачками, по строк 400-500 одним запросом. Перед циклом выполните PHP: fgetcsv($file, 1000, "|"); чтобы прочитать первую строку и не нужно будет постоянно проверять внутри цикла. И еще, хоть к теме не относится, но расширение mysql_* крайне не рекомендуется к использованию.
По ходу, в вашем коде тоже это значение задано и там у вас вопросы не возникали. Читаем описание параметра length функии fgetcsv