Bonjour,
J'ai mis au point un script d'upload qui fonctionne parfaitement avec des fichiers allant jusqu'à 7.5 à 8 Mo.
Lorsque les fichiers dépassent ce poids, le script s'arrête au bout de 2m30s environ.
La page se recharge. Il n'y a aucun message d'erreur qui remonte de l'interpréteur. La variable $_FILES['fichier']['error'] ne me retourne rien. Elle est pourtant bien paramétrée et lorsque je force une erreur en local, elle me retourne la valeur attendue.
Le problème est lorsque j'exécute le script à partir du serveur hébergé par 1&1.
Il est en mutualisé.
J'ai modifié le php.ini et les modifications sont visibles avec php_info.
Au début de mon script, j'ai rajouté :
Je sais que les init set font double emploi, mais trop c'est trop...j'ai voulu assurer le coup après avoir essayé sans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 set_time_limit(0); ini_set(max_execution_time, 5000000000); ini_set(upload_max_filesize,104857600); ini_set(post_max_size,157286400); ini_set(max_input_time,5000000000); ini_set(memory_limit,204857600);
Voici une partie de mon algorithme, sachant qu'il y a quelques manipulations du fichier par la suite en rapport à la base de données. J'ai coupé à ce moment là :
En fait, on dirait que ça vient du navigateur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 // Si le formulaire d'upload a été envoyé // Si le message texte est vide // rediriger vers upload.php : header('Location: upload.php') en affichant un message d'erreur. // Sinon // déclarer, initialiser et formater la variable $texte // déclarer et initialier le dossier où sera déplacé le fichier // initialisation du dossier temporaire d'upload // Si problème lors de l'upload // rediriger vers upload.php : header('Location: upload.php') en affichant un message d'erreur. // Sinon // déclaration et initialisation de la variable $type_file --> $_FILES['fichier']['type'] // on fait un tableau contenant les extensions autorisées. // on récupère la partie de la chaine à partir du dernier . pour connaître l'extension. // Ensuite on teste // Si l'extension n'est pas dans le tableau // rediriger vers upload.php : header('Location: upload.php') en affichant un message d'erreur. // Sinon // on copie le fichier dans le dossier de destination // Si la copie dans le dossier de destination n'a pas fonctionné // rediriger vers upload.php : header('Location: upload.php') en affichant un message d'erreur. // Sinon préparation à l'implémentation de la base de données et au renommage du fichier // ON PREPARE L'DENTIFIANT DE L'IMAGE A TELECHARGER // ouverture de la connection à la base de données
Partager