Я знаю, что это ужасная идея, но как я могу обойти эту максимальную ошибку выполнения. Я не хочу настраивать какой-либо .ini, который я читал в некоторых решениях.
У меня есть этот код для загрузки csv в базу данных sql, но из-за этого я выдает ошибку при загрузке больших файлов. Пожалуйста, помогите мне пересмотреть мой код, ребята
<?php
if (isset($_POST['submit'])) {
$host = 'localhost';
$user = 'root';
$password = '';
$db = 'jeremy_db';
$con = mysqli_connect($host,$user,$password) or die('Could not' .mysqli_error($con));
mysqli_select_db($con, $db) or die ('Could not' .mysqli_error($con));
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file, "r");
$c = 0;
while(($csvdata = fgetcsv($handle,10000,","))!== FALSE){
$sha1 = $csvdata[0];
$vsdt = $csvdata[1];
$trendx = $csvdata[2];
$sql = "INSERT INTO jeremy_table_trend (sha1,vsdt,trendx) VALUES ('$sha1','$vsdt','$trendx')";
$query = mysqli_query($con , $sql);
$c = $c+1;
}
if ($query){
echo "success";
}
else {
echo "error";
}
}
?>
Невозможно обойти, потому что это в основном настройка php. Так что вам все равно придется перенастроить файл php.ini.
«Я не хочу редактировать ini». Удачи!
«Я не хочу редактировать ini». Удачи! - упс не настраивал .ini, но работает :)
попробуй это
добавьте эту строку в свой код
ini_set('max_execution_time', 300); //300 seconds = 5 minutes //whatever you want
Взято из Как увеличить максимальное время выполнения в php
OP против изменения настроек конфигурации. ;)
если это полезно для вас, чем примите ответ, так что другие используют его
@ Akintunde-Rotimi То, что делает ini_set('varName', 'varValue')
, по существу переопределяет конфигурацию INI на время выполнения сценария PHP. См. Документацию PHP для получения дополнительной информации. php.net/manual/en/function.ini-set.php
@ Вам нужно внимательно прочитать вопрос. ОП определенно запуталась. OP сформулировал вопрос как поиск способов увеличить время выполнения без изменения настроек. Этот ответ явно меняет настройки просто по-другому
Но он не сообщает мне об успехе, когда загрузка завершена.
@ Akintunde-Rotimi `увеличивает время выполнения без изменения настроек .` в .ini file
, а не в php script
Выполнение операторов вставки в цикле стоит дорого. Вы можете попробовать сбросить CSV-файл прямо в MySQL, это займет относительно меньшее время выполнения.
ты не можешь. Вот почему вам нужно изменить файл конфигурации.