Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 33

Discussione: Leggere più formati

  1. #11
    Con il seguente codice:

    Codice PHP:
    <?php
    function filtranome($nomefile)  
    {
      
    // qui filtri con varie funzioni 
      
    $nuovonome $nomefile;  
      
    $nuovonome str_replace(array(" "".",","), $nuovonome); // elimino alcuni caratteri 
      
    $nuovonome strtolower($nuovonome); // tutto in minuscolo 
      
    $nuovonome .= '_'.time().'.jpg';
      return (
    $nuovonome); 
    };
    // controllo che non ci siano stati errori nell'upload (codice = 0) 
    if ($_FILES['uploadfile']['error'] == 0)
    {
        
    // upload ok
        // controllo che il file sia in formato gif
        
    if (!(in_array($_FILES['uploadfile']['type'], array('image/jpeg','image/png','image/gif','image/jpg','image/bmp','image/PNG')))) 
        die(
    "Formato file non valido"); 
        
    // copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale 
        
    copy($_FILES['uploadfile']['tmp_name'], "file_caricati/".filtranome($_FILES['uploadfile']['name'])) or die("Impossibile caricare il file");
        
    // upload terminato, stampo alcune info sul file
        
    echo "[b]Upload terminato con successo[/b]
    Le Informazioni riguardanti il File che hai appena caricato sono:

    "
    ;
        echo 
    "Nome file: ".$_FILES['uploadfile']['name']."
    "
    ;
        echo 
    "Dimensione file: ".$_FILES['uploadfile']['size']."
    "
    ;
        echo 
    "Tipo MIME file: ".$_FILES['uploadfile']['type'];
    }
    else
        {
        
    // controllo il tipo di errore
            
    if ($_FILES['uploadfile']['error'] == 2)
                {
                    
    // errore, file troppo grande (> 1MB)
                    
    die("Errore, file troppo grande: il massimo consentito è 1MB");
                }
            else
                {
                    
    // errore generico
                    
    die("Errore, impossibile caricare il file");
                }
        }
    ?>


    <?php
    $img 
    "file_caricati/".filtranome($_FILES['uploadfile']['name']); // percorso al file dell'immagine
    $dest "miniature/".filtranome($_FILES['uploadfile']['name']); // directory di salvataggio delle miniature create

    // dimensioni della miniatura da creare
    $thumbWidth 60// larghezza 
    $thumbHeight 60// altezza 
    // livello di compressione della miniatura
    $thumbComp 90;

    if (
    $filetype == 'jpg') {  
            
    $srcImg imagecreatefromjpeg("$src");  
        } else  
        if (
    $filetype == 'jpeg') {  
            
    $srcImg imagecreatefromjpeg("$src");  
        } else  
        if (
    $filetype == 'png') {  
            
    $srcImg imagecreatefrompng("$src");  
        } else  
        if (
    $filetype == 'gif') {  
            
    $srcImg imagecreatefromgif("$src");  
        } 
        
        
    var_dump($srcImg);

        
    $origWidth imagesx($srcImg);  
        
    $origHeight imagesy($srcImg);  

        
    var_dump($origWidth);
        
    var_dump($origHeight);
        
    var_dump($tw);

        
    $thumbWidth $tw

        
    var_dump($thumbWidth);
         
        
    $ratio $origWidth $thumbWidth;  
        
    $thumbHeight $origHeight $ratio;  

        
    var_dump($ratio);
        
    var_dump($thumbHeight);
    ?>
    Ciò che compare è:

    "Upload terminato con successo
    Le Informazioni riguardanti il File che hai appena caricato sono:

    Nome file: 383238_10150587130960572_320286180571_10932474_165 8515363_n.jpg
    Dimensione file: 39799
    Tipo MIME file: image/jpeg
    NULL bool(false) bool(false) NULL NULL bool(false) bool(false)"

  2. #12
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Esattamente quello che mi aspettavo. Ok ci sono due problemi, il primo è quello che abbiamo indicato ovvero l'assenza della variabile $filetype e ti ho spiegato come crearla. Il secondo problema è che il tuo error reporting viene disabilitato da qualche parte. Le funzioni utilizzate come "imagesx" ritornano false in caso di fallimento ma anche un warning a livello di engine. Stessa cosa dicasi per $filetype la sua inesistenza dovrebbe dare un notice.

  3. #13
    Il tuo desiderio si è avverato
    Ho provato con EasyPHP, e guarda qui cosa mi ritrovo:


    Warning: str_replace() expects at least 3 parameters, 2 given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 6
    Upload terminato con successo
    Le Informazioni riguardanti il File che hai appena caricato sono:

    Nome file: 431397_234260696669687_168524003243357_469940_6187 76109_n_large.jpg
    Dimensione file: 22216
    Tipo MIME file: image/jpeg

    Warning: str_replace() expects at least 3 parameters, 2 given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 6

    Warning: str_replace() expects at least 3 parameters, 2 given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 6

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 52

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 55

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 58

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 61

    Notice: Undefined variable: srcImg in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 65

    Warning: imagesx() expects parameter 1 to be resource, null given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 65

    Notice: Undefined variable: srcImg in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 66

    Warning: imagesy() expects parameter 1 to be resource, null given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 66

    Notice: Undefined variable: tw in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 68

    Warning: Division by zero in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 70

    Warning: Division by zero in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 71

    Warning: imagecreatetruecolor(): Invalid image dimensions in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 73

    Notice: Undefined variable: srcImg in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 74

    Warning: imagecopyresized() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 74

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 76

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 79

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 82

    Notice: Undefined variable: filetype in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 85

  4. #14
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Bingo :-)

    Credo che quegli errori ora siano sufficienti a darti tutte le informazioni iniziali per correggere lo script in modo appropriato.

    Fammi poi sapere se serve altro aiuto.

  5. #15
    Un sola cosa, questo qua come lo correggo?

    Warning: str_replace() expects at least 3 parameters, 2 given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 6

  6. #16
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Manca un parametro nella chiamata della funzione:

    Codice PHP:
    $nuovonome str_replace(array(" ""."","), $nuovonome); 
    Codice PHP:
    $nuovonome str_replace(array(" "".",","), [carattere sostitutivo], $nuovonome); 
    Tra l'altro vedo che stai usando PHP 5.4 RC4... puoi fare update alla stable ora

  7. #17
    Geniale!
    Sto lavorando a questo sistema da una settimana e non mi ero mai accorto di quell'errore!
    Bene, ho corretto tutti gli errori tranne 3, per esempio qui:

    Codice PHP:
    copy($_FILES['uploadfile']['tmp_name'], "file_caricati/".filtranome($_FILES['uploadfile']['name']), $type) or die("Impossibile caricare il file"); 
    Manca un altro parametro perchè dice:

    Warning: copy() expects parameter 3 to be resource, string given in C:\Program Files (x86)\EasyPHP-5.4.0RC4\www\libreria.php on line 65

    Quale manca?

  8. #18
    Se ti puo servire per capire meglio il problema, il codice ora è:

    Codice PHP:
    <?php

    function CreateThumb($type$srcdir$dstdir$name$tw$th$tc) {
        
    $filetype $type;
        
    $src "$srcdir/$name";
        
    $dst "$dstdir/$name";
        
        if (
    $filetype == 'jpg') { 
            
    $srcImg imagecreatefromjpeg("$src"); 
        } else 
        if (
    $filetype == 'jpeg') { 
            
    $srcImg imagecreatefromjpeg("$src"); 
        } else 
        if (
    $filetype == 'png') { 
            
    $srcImg imagecreatefrompng("$src"); 
        } else 
        if (
    $filetype == 'gif') { 
            
    $srcImg imagecreatefromgif("$src"); 
        }
        
        
    $origWidth imagesx($srcImg); 
        
    $origHeight imagesy($srcImg); 

        
    $thumbWidth $tw;
        
        
    $ratio $origWidth $thumbWidth
        
    $thumbHeight $origHeight $ratio

        
    $thumbImg imagecreatetruecolor($thumbWidth$thumbHeight); 
        
    imagecopyresized($thumbImg$srcImg0000$thumbWidth$thumbHeight$origWidth$origHeight); 

        if (
    $filetype == 'jpg') { 
            
    $res imagejpeg($thumbImg"$dst"$tc); 
        } else 
        if (
    $filetype == 'jpeg') { 
            
    $res imagejpeg($thumbImg"$dst"$tc); 
        } else 
        if (
    $filetype == 'png') { 
            
    $res imagepng($thumbImg"$dst");
        } else 
        if (
    $filetype == 'gif') { 
            
    $res imagegif($thumbImg"$dst"); 
        }
        
        return (
    $res);
    };

    function 
    filtranome($name$type) { 
        
    // qui filtri con varie funzioni  
        
    $nuovonome $name;
        
    $nuovonome str_replace(array(" "".",","), [""], $nuovonome); // elimino alcuni caratteri  
        
    $nuovonome strtolower($nuovonome); // tutto in minuscolo  
        
    $nuovonome .= '_'.time().'.'.$type
        return (
    $nuovonome);  
    }; 
    // controllo che non ci siano stati errori nell'upload (codice = 0)  
    if ($_FILES['uploadfile']['error'] == 0) {
        
    // upload ok 
        // controllo formato
        
    $format $_FILES['uploadfile']['type'];
        list(
    $p$type) = explode('/'$format); $type strtolower($type); // p.es. da 'image/PNG' a "png"
        
    if (!(in_array($_FILES['uploadfile']['type'], array('image/jpeg','image/png','image/gif','image/jpg','image/bmp','image/PNG'))))  
        die(
    "Formato file non valido");
        
    // copio il file dalla cartella temporanea a quella di destinazione mantenendo il nome originale  
        
    copy($_FILES['uploadfile']['tmp_name'], "file_caricati/".filtranome($_FILES['uploadfile']['name']), $type) or die("Impossibile caricare il file"); 
        
    // upload terminato, stampo alcune info sul file 
        
    echo "[b]Upload terminato con successo[/b]
    Le Informazioni riguardanti il File che hai appena caricato sono:

    "

        echo 
    "Nome file originale: ".$_FILES['uploadfile']['name']."
    "

        echo 
    "Nome file caricato: ".filtranome($_FILES['uploadfile']['name'], $type)."
    "

        echo 
    "Dimensione file: ".$_FILES['uploadfile']['size']."
    "

        echo 
    "Tipo MIME file: ".$_FILES['uploadfile']['type'];
        
    } else { 
    // controllo il tipo di errore 
        
    if ($_FILES['uploadfile']['error'] == 2) { 
            
    // errore, file troppo grande (> 1MB) 
            
    die("Errore, file troppo grande: il massimo consentito è 1MB"); 
        } else { 
            
    // errore generico 
            
    die("Errore generico"); 
        } 


    // $type già settato
    $srcdir "file_caricati";
    $dstdir "miniature";
    $name filtranome($_FILES['uploadfile']['name']);

    // dimensioni della miniatura da creare
    $thumbWidth 60// larghezza  
    $thumbHeight 60// altezza  
    // livello di compressione della miniatura 
    $thumbComp 90;

    $tw $thumbWidth;
    $th $thumbHeight;
    $tc $thumbComp;

    $res CreateThumb($type$srcdir$dstdir$name$tw$th$tc);
    if (!
    $res) die("Impossibile salvare la miniatura"); 

    ?>

  9. #19
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Il codice non serviva ma grazie comunque. L'errore non dice che manca un parametro bensì che il parametro che stai passando è di tipo sbagliato.

    Non the ne preoccupare e rimuovi tranquillamente il terzo parametro in quanto nel caso di specie a te non serve ed il parametro in questione è opzionale.

  10. #20
    Il terzo parametro sarebbe: "$type", giusto?

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.