Buongiorno,
devo sviluppare un sistema di gestione di foto.
Al momento sto sviluppando la sezione di inserimento delle immagini, funziona tutto però se passo al sistema una foto .png questo in "check_image.php" salta subito al primo if e mi dice che non ho inserito il titolo...la cosa strana è che per jpg e gif funziona perfettamente...
Cosa è che sbaglio? sono 3 giorni che ci sto impazzendo....
Questo è il codice del form:
<form name="form1" method="post" action="check_image.php"
enctype="multipart/form-data">
<table>
<tr>
<td>Titolo:</td>
<td><input name="image_title" type="text" id="image_title"
size="55" maxlength="255"></td>
</tr>
<tr>
<td>Descrizione:</td>
<td><input name="image_description" type="text"
size="55" maxlength="255"></td>
<tr>
<tr>
<td>Immagine:</td>
<td><input name="image_filename" type="file" accept="image/*"></td>
<tr>
</table>
Formati delle immagini supportate: GIF, JPG/JPEG, and PNG.
<p align="center">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Clear Form">
</form>
questa è la pagina "check_image.php":
<?php
session_start();
include "../includes/auth_admin.inc.php";
include "../includes/conn.inc.php";
?>
<HTML>
<HEAD>
<TITLE>Check Image Area</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<link href="../css/style.css" rel="stylesheet" type="text/css">
<link href="../css/cpanel.css" rel="stylesheet" type="text/css">
<script src="../js/fixedbackground.js" type="text/javascript"></script>
</HEAD>
<BODY onload="fixedBackground('../image/bg.png')">
<center>
<div id="main_container">
<div id="main_box">
[img]../image/main_logo.png[/img]
<div class="admin_box">
<?php
echo "Il tipo di immagine che si sta inserendo è :".$_FILES["image_filename"]["type"];
if ( !empty($_POST['image_title']) && ($_POST['image_title'] != " ") &&
!is_numeric($_POST['image_title']))
{
if ( $_FILES['image_filename']['error'] == 0 )
{
if
( ($_FILES["image_filename"]["type"] == "image/jpg") ||
($_FILES["image_filename"]["type"] == "image/jpeg") ||
($_FILES["image_filename"]["type"] == "image/png") ||
($_FILES["image_filename"]["type"] == "image/gif") )
{
//non funziona png
$text= "Hai selezionato una foto nel formato corretto!";
//rende disponibili le variabili
$image_title= strtolower($_POST['image_title']);
$image_description= strtolower($_POST['image_description']);
$image_tempname= $_FILES['image_filename']['name'];
$today = date("d-m-Y");
//carica l'immagine e verifica il tipo di immagine
//il percorso deve concidere con la directory delle immagini
$ImageDir = "../image/foto/uploaded/";
$ImageName = $ImageDir.$image_tempname;
//Dimensione minima corretta, dobbiamo ridimensionare
immagine e inseriamo
if(move_uploaded_file($_FILES['image_filename']['tmp_name'],
$ImageName))
{
//L'immagine è accetabile si può procedere
list($width, $height, $type, $attr) = getimagesize("$ImageName");
if($width >1023 && $height >767)
{
//immagine più grande
//inserisci informazioni nella tabella delle immagini
$insert ="INSERT INTO images ( nome, descrizione, data)
VALUES ('$image_title','$image_description',
'$today')";
$insertresults= mysql_query($insert) or die(mysql_error);
$lastpicid= mysql_insert_id();
$newfilename = $ImageDir.$lastpicid."_".$image_title.".jpg";
if(($_FILES["image_filename"]["type"] == "image/jpg") ||
($_FILES["image_filename"]["type"] == "image/jpeg"))
{
rename($ImageName, $newfilename);
}
else
{
if( ($_FILES["image_filename"]["type"] == "image/gif") )
{
$image_old= imagecreatefromgif($ImageName);
}
elseif( ($_FILES["image_filename"]["type"] == "image/png"))
{
$image_old= imagecreatefrompng($ImageName);
}
//converte l'immagine in jpg
$image_jpg= imagecreatetruecolor($width, $height);
imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0,
$width, $height, $width, $height);
imagejpeg($image_jpg, $newfilename);
imagedestroy($image_old);
imagedestroy($image_jpg);
unlink($ImageName);
}
/*
$url="location: showimage.php?id=".$lastpicid;
header($url);
*/
}
else
{
//immagine inserita più piccola di quella consentita in galleria
$text="La dimensione della foto inserita è troppo piccola per la galleria fotografica!
Scegliere una foto a maggiore dimensioni!
";
unlink($ImageName);
}
}
}
else
{
$text = "Il formato della foto inserito non è accettabile!
";
}
}
else
{
$text = "La foto non è stata selezionata o c'è stato un errore di caricamento!
";
}
}
else
{
$text = "Non è stato assegnato un titolo alla foto
o
è stato assegnato un nome non accettabile per la galleria fotografica!
";
}
?>
<p class="alert_text">
<?php echo $text; ?>
Riprova!
</p>
</div>
<div class="admin_box">
<?php
header ("Refresh:5; URL=upload_image.php");
?>
</div>
</div>
</div>
</center>
</BODY>
</HTML>
Grazie per ogni eventuale aiuto,
Leonardo
PS: scusate se la formattazione non è fatta bene.