NxTIC/manager/uploader.php

58 lines
1.9 KiB
PHP

<?php define('__ROOT__', dirname(dirname(__FILE__)) ); require_once __ROOT__.'/manager/autoloader.php';
use \manager\ResourceDispatcher;
use \manager\ManagerError;
/* [0] On formatte les entrées
=========================================================*/
// Si un des params manque, on retourne une erreur
if( !isset($_FILES['file']) || !isset($_POST['prefix']) ){
echo ManagerError::ParamError;
exit();
}
$prefix = htmlspecialchars(urlencode($_POST['prefix']));
/* [1] Chargement du fichier de config
=========================================================*/
$uploadAuthResource = new ResourceDispatcher('f/json/upload-auth/conf');
// Si une erreur pour le fichier de conf
if( $uploadAuthResource->error != ManagerError::Success ){ echo $uploadAuthResource->error; exit(); }
// On récupère la config
$uploadAuth = json_decode( $uploadAuthResource->getContent(), true );
// Si erreur de PARSAGE
if( $uploadAuth == null ){ echo ManagerError::ParsingFailed; exit(); }
var_dump( $uploadAuth );
/* [2] Création du fichier (temporaire->permanent)
=========================================================*/
/* [3] Gestion de la réponse
=========================================================*/
$path = __ROOT__.'/src/dynamic/'.$_POST['prefix'].'/';
$fileName = 'test.';
// On récupère l'extension
$fileName .= pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
// on se place dans /src/dynamic/XX
chdir( $path );
// chmod( $path, 0774 );
if( move_uploaded_file($_FILES['file']['tmp_name'], $path.$fileName) ){
// on modifie les droits du fichier
chmod($path.$fileName, 0774);
echo ManagerError::Success;
}
else
echo ManagerError::UploadError;
?>