Codice PHP:
<?php
include('../php/connessione.php');
//echo $_POST['fin_path'] . "
";
//echo $_POST['fin_path_original'] . "
";
echo $_FILES['fin_path']['tmp_name'] . "
";
echo $_FILES['fin_path']['error'] . "
";
if (($_FILES['fin_path']['error'] != 4) ) //SE VIENE CARICATO UN NUOVO FILE
{
echo "copia
"; //VERIFICO QUALE CONDIZIONE STA ESEGUENDO
//CREO IL NUOVO NOME DEL FILE E DEL THUMB
$file = str_replace(' ', '_', $_POST['fin_nome']) . "_" . $_POST['fin_cod'] . ".jpg";
$file_thumb=str_replace(".jpg","_thumb.jpg",$file);
//COPIO IL NUOVO FILE
chdir("../archivio dati/$_POST[fin_mark]/Finiture");
$dir_upload= getcwd();
move_uploaded_file ($_FILES['fin_path']['tmp_name'], "$dir_upload/$file") or die( mysql_error());
$fin_path = $dir_upload ."/" .$file;
//CREAZIONE THUMB
list($width, $height, $type, $attr) = getimagesize($fin_path);
$thumb = imagecreatetruecolor(80, 40);
$source = imagecreatefromjpeg($fin_path);
imagecopyresized($thumb, $source, 0, 0, 0, 0, 80, 40, $width, $height) or die( mysql_error());
//echo $file_thumb;
imagejpeg($thumb, $dir_upload . "/" .$file_thumb, 50) or die( mysql_error());
imagecreatefromjpeg( $dir_upload . "/" .$file_thumb) or die( mysql_error());
//CANCELLO IL FILE SOSTITUITO
unlink($_POST['fin_file']) or die( mysql_error());
unlink($_POST['fin_file_thumb']) or die( mysql_error());
//PROCEDO CON L'AGGIORNAMENTO DEI DATI
mysql_select_db("mob", $con) or die( mysql_error() );
$sql="UPDATE finiture SET fin_nome='$_POST[fin_nome]', fin_show='$_POST[fin_show]', fin_mark='$_POST[fin_mark]' , fin_path='$fin_path', fin_grp='$_POST[fin_grp]', fin_cod='$_POST[fin_cod]', fin_type='$_POST[fin_type]', fin_file='$file', fin_file_thumb='$file_thumb' WHERE fin_id='$_POST[fin_id]'";
}
if (($_FILES['fin_path']['error'] == 4) && ($_POST['fin_nome'] != $_POST['fin_nome_original']) || ($_POST['fin_cod'] != $_POST['fin_cod_original']))
{
echo "rinomina"; //VERIFICO QUALE CONDIZIONE STA ESEGUENDO
//SE NON VIENE CARICATO, MA SOLO RINOMINATO
$file = str_replace(' ', '_', $_POST['fin_nome']) . "_" . $_POST['fin_cod'] . ".jpg";
$file_thumb=str_replace(".jpg","_thumb.jpg",$file);
//RINOMINO IL NUOVO FILE
chdir("../archivio dati/$_POST[fin_mark]/Finiture") or die( mysql_error());
rename ($_POST['fin_file'], $file) or die( mysql_error());
rename ($_POST['fin_file_thumb'], $file_thumb) or die( mysql_error());
//PROCEDO CON L'AGGIORNAMENTO DEI DATI
mysql_select_db("mob", $con) or die( mysql_error() );
$sql="UPDATE finiture SET fin_nome='$_POST[fin_nome]', fin_show='$_POST[fin_show]', fin_mark='$_POST[fin_mark]' , fin_path='$_POST[fin_path]', fin_grp='$_POST[fin_grp]', fin_cod='$_POST[fin_cod]', fin_type='$_POST[fin_type]', fin_file='$file', fin_file_thumb='$file_thumb' WHERE fin_id='$_POST[fin_id]'";
}
else
{
echo "modifica dati"; //VERIFICO QUALE CONDIZIONE STA ESEGUENDO
mysql_select_db("mob", $con) or die( mysql_error() );
$sql="UPDATE finiture SET fin_nome='$_POST[fin_nome]', fin_show='$_POST[fin_show]', fin_mark='$_POST[fin_mark]' , fin_path='$_POST[fin_path]', fin_grp='$_POST[fin_grp]', fin_cod='$_POST[fin_cod]', fin_type='$_POST[fin_type]', fin_file='$_POST[fin_file]', fin_file_thumb='$_POST[fin_file_thumb]' WHERE fin_id='$_POST[fin_id]'";
}
mysql_query($sql,$con); /*
if (!mysql_query($sql,$con))
{
header("Location: fin_main.php?" . "false");
}
else
{
header("Location: fin_main.php?" . "true");
}*/
mysql_close($con);
?>
Quello che mi crea il problema è che se io spedisco il file, ma non cambio nessun altro parametro lui mi restituisce sia COPIA che RINOMINA, cosa che non dovrebbe fare appunto perché nell'IF di RINOMINA gli ho specificato che nessun file deve essere stato trasmesso!