Pagina 1 di 6 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 57
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57

    Problemi upload foto internet expolrer

    Ciao a tutti!! Rieccomi con un'altro problema con php Ho fatto un form upload immagini in php funziona tutto con fire fox ma mi da problemi con internet explorer e proprio non riesco a capire dove è il problema , vi posto sotto i codici, questo e' il form:
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
    Id Annuncio


    <input type="text" name='annuncio' size="60" value="<? echo($row["idvendesi"]); ?>">




    Descrizione:

    <textarea name="descrizione" cols="20" rows="4"></textarea>




    Immagine:

    <input type="file" name="imagefile">




    <input type="submit" name="Submit" value="Submit">



    <?php
    error_reporting(E_ALL);
    if(isset($_POST['submit'])){
    // faccio un po' di inclusioni...
    @include 'config.php';
    @require 'function.php';

    // Creo una array con i formati accettati
    $tipi_consentiti = array("image/gif","image/jpeg","image/png","image/jpg");

    // verifico che il formato del file sia tra quelli accettati
    if (@in_array($_FILES['imagefile']['type'], $tipi_consentiti)){
    // copio il file nella cartella delle immagini
    @copy ($_FILES['imagefile']['tmp_name'], $path_img . $_FILES['imagefile']['name']);

    // recupero i dati dal form
    $titolo = @addslashes($_POST['titolo']);
    $descrizione = @addslashes($_POST['descrizione']);
    $nome = @addslashes($_FILES['imagefile']['name']);
    $path = $path_img . stripslashes($nome);
    $tipo = @addslashes($_FILES['imagefile']['type']);
    $autore = @addslashes($_POST['autore']);
    $email = @addslashes($_POST['email']);

    // creo la miniatura
    @makeThumb($path_img,$path,$nome,$tipo);

    // aggiorno il database
    $query = "INSERT INTO images (Anuncio,Descrizione,Nome,Tipo) VALUES('$annuncio','$descrizione','$nome','$tipo') ";
    $res = @mysql_query($query) or die (mysql_error());
    @mysql_close($cn);

    // Stampo a video un po' di informazioni
    echo "Nome: ".$_FILES['imagefile']['name']."
    ";
    echo "Dimensione: ".$_FILES['imagefile']['size']."
    ";
    echo "Tipo: ".$_FILES['imagefile']['type']."
    ";
    echo "Copia eseguita con successo.";
    }else{
    // stampo un messaggio di errore nel caso in cui il file sia di un formato non consentito
    echo "Errore upload foto!!";
    }
    }
    ?>
    </form>

    ed il secondo e' function.php
    <?php
    function makeThumb($dir,$pic,$n,$t){
    @list($width, $height, $type, $attr) = @getimagesize($pic);
    $max_w = 100;
    $max_h = 100;
    $ratio = @min($max_w/$width,$max_h/$height);

    // Verifico che l'immagine originale sia più grande delle dimensioni massime 100*100pxl
    if ($ratio < 1){
    // Individuo le nuove dimensioni da assegnare all'immagine
    $w = @floor($ratio*$width);
    $h = @floor($ratio*$height);

    // creo una nuova immagine con le dimensioni appena calcolate
    $thumb = @imagecreatetruecolor($w,$h);
    if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);}
    elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);}
    elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);}

    // ridimensiono l'originale e salvo nella cartella di destinazione
    @imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$widt h,$height);
    if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n, 75);}
    elseif ($t == 'image/png'){@imagepng($thumb,"$dir/tb_".$n, 75);}
    }
    }
    ?>

    Grazie

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    anche a me explorer da "fastidi"..
    che errori ti da?
    togli tutte le @ e vedi se cambia qualcosa..

  3. #3
    Tre cose dopo un'occhiata veloce:

    Gli indici degli array sono case sensitive:
    ...
    <input type="submit" name="Submit" value="Submit">



    <?php
    error_reporting(E_ALL);
    if(isset($_POST['submit'])){
    ...


    I tipi consentiti sono
    $tipi_consentiti = array("image/gif","image/jpeg","image/png","image/jpg");
    Dovresti aggiungere anche 'image/pjpeg'


    La funzione che genera le thumb controlla ed elabora solo un tipo di jpg
    if ($t == 'image/jpeg') ...
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    Originariamente inviato da Magicale
    Tre cose dopo un'occhiata veloce:

    Gli indici degli array sono case sensitive:
    ...
    <input type="submit" name="Submit" value="Submit">



    <?php
    error_reporting(E_ALL);
    if(isset($_POST['submit'])){
    ...


    I tipi consentiti sono
    $tipi_consentiti = array("image/gif","image/jpeg","image/png","image/jpg");
    Dovresti aggiungere anche 'image/pjpeg'


    La funzione che genera le thumb controlla ed elabora solo un tipo di jpg
    if ($t == 'image/jpeg') ...
    ho aggiunto 'image/pjpeg' ma niente da fare sempre lo stesso errore!!

    EDIT: adesso con ie funziona ma non riesco a vedere le foto minuaturizzate con firefox!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    ok ho risolto con le foto!! adesso ho un'altro problema, devo cancellare le foto e la miniatura dalla cartella che si chiama files ho usato questo codice ma non funziona qualcuno mi sa aiutare?

    <?

    if($_GET['act'] == "delete")
    { include 'config.php';
    $id = (int)$_GET['id'];
    $query = "SELECT * FROM images WHERE id = '$id' ";
    $risultato = mysql_query($query);
    if ($risultato)
    {
    $riga = mysql_fetch_array($risultato);
    $path = stripslashes($riga['path']);
    $nome = stripslashes($riga['nome']);
    unlink($path . "files/". $nome ); //cancello l'immagine principale
    unlink($path . "files/tb_" . $nome ); //cncello la sua miniatura
    }


    if($id > 0)
    { mysql_query("DELETE FROM images WHERE id=".$id); }
    else
    { echo "Id errato"; }
    }
    //tutto l'altro


    echo("

    <center><span class=gensmall>Cancellazione avvenuta con successo.</span></center>");
    echo ("

    <center>TORNA INDIETRO</center>");
    ?>


    Grazie









    Grazie

  6. #6
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    che significa "non funziona"? non cancella l'immagine?
    hai provato a fare un echo delle variabili ad esempio $path?
    ma metti la path nel DB? con o senza lo slash alla fine?
    Fai ad esempio un
    $nome = stripslashes($riga['nome']);
    echo "PERCORSO IMMAGINE PRINCIPALE: " . $path . "files/". $nome;
    unlink($path . "files/". $nome ); //cancello l'immagine principale

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    Ragazzi scusatemi ma non sono tanto bravo con il php sto eseguendo questo cms con guide sparse un po in giro per questo sto combinando un po di casini!!

    ho rifatto il codice come mi hai suggerito, la foto si cancella dal database ma no dalla cartella ecco il codice:

    Codice PHP:
    <?

        
    include 'config.php';
        
    $query "SELECT * FROM images WHERE id=$_GET[id]";
        
    $risultato mysql_query($query);
            if (
    $risultato
            {
            
    $riga mysql_fetch_array($risultato);
            
    $path stripslashes($riga['path']);
            
    $nome stripslashes($riga['nome']);
            echo 
    "PERCORSO IMMAGINE PRINCIPALE: " $path "files/"$nome;
            
    unlink($path "files/"$nome ); //cancello l'immagine principale
            
    unlink($path "files/tb_" $nome ); //cncello la sua miniatura
            
    }
            
        
        if(
    $id 0)   
            { 
    mysql_query("DELETE FROM images WHERE id=".$id); }
        else 
           { echo 
    "Id errato"; }

    //tutto l'altro  
        

        
    echo("

    <center><span class=gensmall>Cancellazione avvenuta con successo.</span></center>"
    );
        echo (
    "

    <center>[url='fittasi.php']TORNA INDIETRO[/url]</center>"
    );
    ?>
    Grazie ancora

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ..cosa stampa quell'echo che hai messo?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    57
    non stampa niente!! Non capisco, il codice è scritto bene quindi dovrebbe cancellare sta benedetta foto, forse dovrei cambiare queste due righe:
    Codice PHP:
    $path stripslashes($riga['path']);         
    $nome stripslashes($riga['nome']); 
    Possibile che l'errore sta li'?
    Grazie

  10. #10
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    devi fare delle prove..
    per esempio
    $_GET[id]
    dovrebbe essere $_GET['id']
    se fai un echo di
    $_GET[id] e di $_GET['id']

    fai degli echo pure per
    $riga['path'] e $riga['nome']
    e dopo
    $query = "SELECT * FROM images WHERE id=$_GET[id]";
    metti un echo $query

    perchè è come se non prendesse l'id correttamente.. prendendo per buona la connessione al DB..

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.