Salve a tutti.
Sto provando a creare un sistema di caricamento immagini ma sto riscontrando alcuni problemi nel definire il percorso di caricamento.
Questo è il mio codice:
Codice PHP:
//CARICAMENTO DELLE IMMAGINI
if(isset($_FILES['files'])){
$estensioni = array("jpg", "png");
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $key.$_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 5242880){
$errors[]='La grandezza del file deve essere minore di 5 MB <br>';
}
if(!in_array(strtolower(end(explode('.', $file_name))),$estensioni)){
echo 'Tipo di file non consentito <br>';
}
//APPARTENENZA FILE
if(empty($errors)==true){
switch ($key){
//CASE FOR DESKTOP
case 0:
$directory = "desktop";
if(is_dir("img_prova/$idProdotto/$directory") == false){
mkdir("img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "img_prova/$idProdotto/$directory/overview.jpg");
break;
case 1:
$directory = "desktop";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/big.jpg");
break;
case 2:
$directory = "desktop";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/small1.jpg");
break;
case 3:
$directory = "desktop";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/small2.jpg");
break;
//CASE FOR MOBILE
case 4:
$directory = "mobile";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/overview.jpg");
break;
case 5:
$directory = "mobile";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/big.jpg");
break;
case 6:
$directory = "mobile";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/small1.jpg");
break;
case 7:
$directory = "mobile";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/small2.jpg");
break;
//CASE FOR SLIDESHOW
case 8:
$directory = "slideshow";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/1.jpg");
break;
case 9:
$directory = "slideshow";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/2.jpg");
break;
case 10:
$directory = "slideshow";
if(is_dir("../../img_prova/$idProdotto/$directory") == false){
mkdir("../../img_prova/$idProdotto/$directory", 0700);
}
move_uploaded_file($file_tmp, "../../img_prova/$idProdotto/$directory/3.jpg");
break;
}
}
else{
print_r($errors);
}
}
if(empty($errors)){
echo "Operazione effettuata con successo";
}
}
secondo me sto sbagliando a settare i path in cui caricare i file dato che se uso
Codice PHP:
$directory = "desktop/"
e non imposto nessun altro percorso relativo o che preveda passaggi in due cartelle (es. directory = "desktop/ciccio/" non funziona già più
) il tutto funziona perfettamente.
Idee?
Grazie per la risposta!
P.S. scusate per gli errori banali che posso aver postato ma sono un principiante