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.
<?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.