Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    108

    Problema non riconosce file png

    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.

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    108
    Ottimo grazie,
    molto probabilmente è un problema di xampp.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.