Je suis novice en php, j'aurais besoin d'aide pour débugger un logiciel qui tourne parfaitement sous php4 mais pas sous php5.
Il s'agit d'un gestionnaire de documents, qui permet de mettre un ligne une documenthèque. Je n'ai pas écrit le code, mais il semble ne plus y avoir de support sur ce projet open source.
Il est installé sous Apache 2.2.6 + php 5.2.4 + MySql 5.0.45
La fonction d'upload ne fonctionne pas, la voici:
function uploadFile($dir, $file, $fileComment)
{
$fileName = strtolower($file["name"]);
$fileTmpName = $file["tmp_name"];
$fileSize = $file["size"];
$folderPath = $this->folderPath($dir);
$fileName = $this->secureFile($fileName);
if (file_exists($this->root . "files" . $folderPath . SEP . $fileName))
{
$this->error = 5;
return false;
}
if (move_uploaded_file($fileTmpName, $this->root . "files" . $folderPath . SEP . $fileName))
{
$q = "INSERT INTO " . TABLE_PREFIX . "files (id_folder, id_user, file_name, file_size, file_mtime, file_comment) VALUES ('" . $dir ."', '" . $_SESSION["Sid_user"] . "', '" . quote($fileName) . "', '" . $fileSize . "', NOW(), '" . quote($fileComment) . "')";
query($q);
$this->updateFolderSize($dir, $fileSize, "+");
$this->updateFolderTime($dir);
return true;
}
return false;
}
A la mumière de mes faibles connaisances, il semblerait que le souci vienne de move_upload_file qui renvoie FALSE.lorsque j'éxécute la fonction d'upload, il n'y a pas d'erreur mais le fichier n'est pas uploadé, ça me renvoie juste "OK" sachant que:
{
var $errors = array (
0 => "OK",
);
Merci pour vos éclairages