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;
}
}
}
}
?>
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;
}
}
}
}
?>