Modifiez la taille maximale de votre téléchargement php.
Savez-vous où se trouve votre fichier php.ini ?
Tout d'abord, essayez de placer ce fichier dans votre racine Web :
phpinfo.php
(voir http://php.net/manual/en/function.phpinfo.php )
contenant :
<?php
phpinfo();
?>
Ensuite, accédez à http://www.yoursite.com/phpinfo.php
Recherchez "php.ini".
Pour télécharger des fichiers volumineux, vous avez besoin de max_execution_time, post_max_size, upload_max_filesize
Aussi, savez-vous où se trouve votre fichier error.log ? J'espère que cela vous donnera un indice sur ce qui ne va pas.
MODIFIER :
Voici la requête que j'utilise pour l'import de fichier :
$query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";
Où $file_name est le nom de fichier temporaire de la variable globale php $_FILES, $table_name est la table déjà préparée pour l'importation et $nl est une variable pour les fins de ligne csv (par défaut les fins de ligne windows mais j'ai la possibilité de sélectionner la ligne linux fins).
L'autre chose est que la table ($table_name) dans mon script est préparée à l'avance en scannant d'abord le csv pour déterminer les types de colonnes. Après avoir déterminé les types de colonnes appropriés, il crée la table MySQL pour recevoir les données.
Je vous suggère d'essayer de créer d'abord la définition de la table MySQL, pour qu'elle corresponde au contenu du fichier (types de données, longueurs de caractères, etc.). Ensuite, essayez la requête ci-dessus et voyez à quelle vitesse elle s'exécute. Je ne sais pas à quel point la définition de la table MySQL est un facteur de vitesse.
De plus, je n'ai aucun index défini dans la table jusqu'à ce qu'APRÈS le chargement des données. Les index ralentissent le chargement des données.