class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
I found the solution. The upload class needs an array as parameter.
Here is a draft code if someone else needs it :
include('class.upload.php');
$id = $_GET['sessionId'];
$id = trim($id);
session_name($id);
session_start();
$inputName = $_GET['userfile'];
$fileName = $_FILES[$inputName]['name'];
$tempLoc = $_FILES[$inputName]['tmp_name'];
// Prepare datas for upload class
$arr = array (
'name' => $fileName,
'type' => 'image/jpeg',
'tmp_name' => $tempLoc,
'error' => 0,
'size' => '' ) ; // Don't know the size at this step
$target_path = 'uploads';
// ---------- IMAGE UPLOAD ----------
// we create an instance of the class, giving as argument the PHP object
// corresponding to the file field from the form
// All the uploads are accessible from the PHP object $_FILES
$handle = new Upload($arr);
// then we check if the file has been uploaded properly
// in its *temporary* location in the server (often, it is /tmp)
if ($handle->uploaded) {
// yes, the file is on the server
// below are some example settings which can be used if the uploaded file is an image.
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_x = 300;
// now, we start the upload 'process'. That is, to copy the uploaded file
// from its temporary location to the wanted location
// It could be something like $handle->Process('/home/www/my_uploads/');
$handle->Process($target_path);
// we check if everything went OK
if ($handle->processed) {
// everything was fine !
$_SESSION['dhxvlt_state'] = -1;
} else {
// one error occured
$_SESSION['dhxvlt_state'] = -3;
}
// we delete the temporary files
$handle-> Clean();
}
The upload class needs an array as parameter.
Here is a draft code if someone else needs it :
include('class.upload.php'); $id = $_GET['sessionId']; $id = trim($id); session_name($id); session_start(); $inputName = $_GET['userfile']; $fileName = $_FILES[$inputName]['name']; $tempLoc = $_FILES[$inputName]['tmp_name']; // Prepare datas for upload class $arr = array ( 'name' => $fileName, 'type' => 'image/jpeg', 'tmp_name' => $tempLoc, 'error' => 0, 'size' => '' ) ; // Don't know the size at this step $target_path = 'uploads'; // ---------- IMAGE UPLOAD ---------- // we create an instance of the class, giving as argument the PHP object // corresponding to the file field from the form // All the uploads are accessible from the PHP object $_FILES $handle = new Upload($arr); // then we check if the file has been uploaded properly // in its *temporary* location in the server (often, it is /tmp) if ($handle->uploaded) { // yes, the file is on the server // below are some example settings which can be used if the uploaded file is an image. $handle->image_resize = true; $handle->image_ratio_y = true; $handle->image_x = 300; // now, we start the upload 'process'. That is, to copy the uploaded file // from its temporary location to the wanted location // It could be something like $handle->Process('/home/www/my_uploads/'); $handle->Process($target_path); // we check if everything went OK if ($handle->processed) { // everything was fine ! $_SESSION['dhxvlt_state'] = -1; } else { // one error occured $_SESSION['dhxvlt_state'] = -3; } // we delete the temporary files $handle-> Clean(); }