Erreur isup

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur isup

Re: Erreur isup

par or 1 » 16 avr. 2022, 13:18

<?php
class ged_files
{
    public $db;
    public $extAccepted;
    public $fileState;

    function __construct()
    {
        $this->extAccepted = array(
            "application/pdf",
            "image/jpeg",
            "image/png"
        );

        require_once ('mysql.php');
        $db = new mysqlConnector();
        $this->db = $db->dataBase;
    }

    //INSERT INTO `ged_files` (`id`, `name`, `type`, `date`, `url`) VALUES (NULL, 'name', 'application', CURRENT_TIMESTAMP, 'Http://jesaispas\r\n');
    function copyFile($file)
    {
        $destDir = str_replace('class\mdl_ged_files.php', 'folderRoot', __FILE__);
        $name = $file['fichier']['name'];
        $fileName = time() . "_" . $name;
        $type = $file['fichier']['type'];
        $tmp_name = $file['fichier']['tmp_name'];
        $error = $file['fichier']['error'];
        $size = $file['fichier']['size'];
        if ($this->isup($tmp_name))
        {
            $this->fileState .= "le fihier n'as pas été uploader de maniere réguilere";
            echo "le fihier n'as pas été uploader de maniere réguilere";
            die();
        }
        if (!in_array($type, $this->extAccepted))
        {
            echo 'format incorecte';
            die();
        }
        //expression régulière qui permet de vérifier que le fichier ne cache pas son type pour hack
        if (preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name))
        {
            echo 'tentative de hack';
            die();
        }
        //si il y a une erreur renvoie
        if ($error != "0")
        {
            echo 'erreur de upload';
            die();
        }
        //si le fichier fait plus de 100 mo pas accepter
        if ($size < 100000)
        {
            echo 'erreur de taille';
            die();
            if (move_uploaded_file($tmp_name, $destDir . DIRECTORY_SEPARATOR . $fileName))
            {
                $m = array(
                    "succes",
                    "Le fichier à bien était téléchargé"
                );
            }
            else
            {
                $m = array(
                    "error",
                    "Le fichier n'à pas était téléchargé"
                );
            }

        }
        /**vérifie si le fichier à bien été charger */

        function isup($tmp_name)
        {
            if (!is_uploaded_file($tmp_name))
            {
                true;
            }
            else
            {
                false;
            }
        }
    }

}
?>
avec un indentation correcte, on se rend rapidement compte du problème.
et vu ce que fait la fonction isup, on peut se poser la question de l’intérêt de cette fonction.

Re: Erreur isup

par OUROUQUE » 16 avr. 2022, 13:10

Voila le code je ne comprend vraiment pas


<?php
class ged_files{
public $db;
public $extAccepted;
public $fileState;

function __construct(){
$this->extAccepted=array(
"application/pdf",
"image/jpeg",
"image/png"
);


require_once('mysql.php');
$db = new mysqlConnector();
$this->db = $db->dataBase ;
}


//INSERT INTO `ged_files` (`id`, `name`, `type`, `date`, `url`) VALUES (NULL, 'name', 'application', CURRENT_TIMESTAMP, 'Http://jesaispas\r\n');
function copyFile($file){
$destDir = str_replace('class\mdl_ged_files.php','folderRoot', __FILE__);
$name=$file['fichier']['name'];
$fileName= time()."_".$name;
$type=$file['fichier']['type'];
$tmp_name=$file['fichier']['tmp_name'];
$error=$file['fichier']['error'];
$size=$file['fichier']['size'];
if($this->isup($tmp_name)){
$this->fileState.="le fihier n'as pas été uploader de maniere réguilere";
echo"le fihier n'as pas été uploader de maniere réguilere";
die();
}
if(!in_array($type, $this->extAccepted)){
echo 'format incorecte';
die();
}
//expression régulière qui permet de vérifier que le fichier ne cache pas son type pour hack
if(preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#',$name)){
echo'tentative de hack';
die();
}
//si il y a une erreur renvoie
if($error !="0"){
echo'erreur de upload';
die();
}
//si le fichier fait plus de 100 mo pas accepter
if($size <100000){
echo'erreur de taille';
die();
if (move_uploaded_file($tmp_name,$destDir.DIRECTORY_SEPARATOR.$fileName)){
$m = array("succes","Le fichier à bien était téléchargé");
}
else{
$m = array("error","Le fichier n'à pas était téléchargé");
}

}
/**vérifie si le fichier à bien été charger */

function isup($tmp_name){
if(!is_uploaded_file($tmp_name)){
true;
}else{
false;
}
}
}

}
?>

Re: Erreur isup

par @rthur » 14 avr. 2022, 11:11

L'avantage de PHP c'est que les messages sont plutôt explicite et indique là où se situe l'erreur donc regarde le fichier concerné + le numéro de ligne et où est indiqué isup car c'est probablement utilisé sur un objet qui n'a pas cette méthode, mais on ne peut pas t'en dire davantage vu qu'on ne connait pas ton code.

Erreur isup

par OUROUQUE » 13 avr. 2022, 22:26

Bonjours je travaille actuellement sur la conception d'une GED et j'ai une erreur que je n'arrive pas à résoudre depuis 2 semaines qui me dit "Undefined method 'isup`."
Merci.