Erreur lors de l'upload [Résolu]

Signaler
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021
-
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021
-
Bonjour, j'ai un problème avec l'upload de document en php
Quand j'upload un petit document (Pas lourd) il s'upload sans problème mais quand je dépassé 1000 ko une erreur surgie.

Image de l'erreur :


Mon code :


<?php 

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
require_once 'config.php';

    $email_bilan = $_POST['email_bilan'];
    
    if ($_POST['date_bilan'] == "") {

        $date_j = date('d');
        $date_m = date('m');
        $date_a = date('Y');
        $dte = date('d/m/Y');
    }else{

        $date_j = "1";
        $date_m = "12";
        $date_a = $_POST['date_bilan'];
        $dte = ''.$date_j.'/'.$date_m.'/'.$date_a.'';

    }

    $id_session = $_GET['num'];

    if (is_uploaded_file($_FILES['doc_files']['tmp_name'])) {
    echo "File ". $_FILES['doc_files']['name'] ." téléchargé avec succès.\n";
    $dir = '../../../../src/bilan/';
    
    if(!is_dir($dir)){
        echo " Le répertoire de destination n'existe pas !";
        exit();
    }
    
    $name_files = $_FILES['doc_files']['name'];                         
    $date_now = '-'.date("H-i-s");
    $type_files = "." . strtolower(substr(strrchr($name_files, '.'), 1));
    $target_file = $_FILES['doc_files']['tmp_name'];                                     
    $real_name = substr($name_files, 0, -4);
    $file_name = $dir. $real_name . $date_now . $type_files; 

    if($resultat = move_uploaded_file($target_file, $file_name)){

        $insert = $bdd->prepare('INSERT INTO bilan (email_bilan , dte, date_j, date_m, date_a, files_bilan, id_session) VALUES(?,?,?,?,?,?,?)');
            $insert->execute(array(
                htmlspecialchars($email_bilan),
                htmlspecialchars($dte),
                htmlspecialchars($date_j),
                htmlspecialchars($date_m),
                htmlspecialchars($date_a),
                htmlspecialchars($real_name . $date_now . $type_files),
                htmlspecialchars($id_session)
            ));

        header('Location: ../bilan-view.php?num='.$_GET['num'].'&time='.$_GET['time'].'');
        exit();

    }else{
        echo "Erreur lors du déplacement de fichier !"; 
        exit;
    }
    
    } else {
    echo "Erreur lors de l'upload du fichier : ";
    echo "Nom du fichier : '". $_FILES['doc_files']['tmp_name'] . "'.";
    }
?>



Je ne sais pas quoi faire ;')

3 réponses

Messages postés
15487
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 mai 2021
846
bonjour,
moi j'examinerais
$_FILES['doc_files']['error']
, puis réagirais en fonction de ceci: https://www.php.net/manual/fr/features.file-upload.errors.php
Messages postés
32323
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 mai 2021
3 460
Bonjour.
Il faut modifier les variables qui permettent d'augmenter la taille autorisée pour l'upload des fichiers.
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021
3 >
Messages postés
32323
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 mai 2021

Justement j'ai regardé sur internet mais il ne précise pas ou trouver le doc de configuration, j'ai un plesk pour mon serveur mais quand je cherche dans PHP settings il y a rien en rapport avec la taille
Messages postés
32323
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 mai 2021
3 460 >
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021

Tu peux faire les modifications dans le fichier php.ini
Si tu n'y a pas accès, tu peux faire les modifications dans le fichier .htaccess

Si tu ne sais pas comment faire, faut voir avec le support de ton hébergeur.
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021
3 >
Messages postés
32323
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 mai 2021

J'ai regardé avec le support mais il m'ont dit que le serveur et dédié root et que pour modifier la taille d'upload il faut passé par un script via le ssh.
J'ai regardé sur internet mais j'ai peur de faire nimporte quoi ;')

Je n'est pas les perms pour le .htaccess et le fichier php.ini n'existe pas.
Messages postés
15487
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 mai 2021
846 >
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021

as-tu pu confirmer que c'est bien un problème de taille de fichier? (suggestion en #1)

si tu donnes des infos à propos de ton hébergement et des logiciels utilisés, nous pouvons peut-être t'aider.
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021
3 >
Messages postés
15487
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 mai 2021

Oui,je confirme que c'est un probleme de taille de fichier qui limité par défaut

Oui bien sur,
Je suis chez IONOS (1&1), mon serveur et sous linux Ubuntu 20.04 , la version php est la 7.3.27
et j'ai installer le plesk obsidian dessus
Messages postés
57
Date d'inscription
lundi 30 décembre 2019
Statut
Membre
Dernière intervention
4 mai 2021
3
J'ai trouver la solution, j'ai augmenter le upload_max_filesize via SSH