Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    upload con resize in php

    Salve a tutti ho un problema con questo scritp in php . Premetto che ho paca conoscenza del linguaggio php Io vorrei integrare altri controlli l’interno tipo:
    Controllo del nome dell’immagine inserita nella cartella dove faccio upload per impedire che il file viene soprascritto
    Altra cosa controllare che l’immagine non sia inferiore di queste dimensioni (600*800)
    Io ho trovato questo pezzo di codice che controlla le dimensioni ma non riesco ad integralo
    }
    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 600x800
    if (($width > 600) || ($height > 800)) {
    $msg = "

    Dimensioni non corrette</p>";
    break;
    }

    Io lo provato a modificare cosi ma non funziona
    }
    // Ottengo le informazioni sull'immagine
    list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 600x800
    if (($width > 600) || ($height > 800))
    {
    die(' Dimensioni non corrette');
    }

    Questo e tutto il codice che mi funziona perfettamente
    Grazie della vostra collaborazione

    <?
    //percorsi cartelle per il caricamento dei files
    $cartella_thumbs = "./thumbs";
    $cartella_upload = "./uploads/";
    //la larghezza delle miniature, in pixel
    $img_thumb_width = 100;
    //visualizza il modulo di caricamento file
    if(!$_POST['submit'])
    {
    ?>
    <form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="8000000" />
    Seleziona file:
    <input type="file" name="data" />
    <input type="submit" name="submit" value="Carica file" />
    </form>
    <?
    }
    else
    {
    //verifica le dimensioni del file caricato
    if($_FILES['data']['size'] ==0)
    {
    die('Errore : campo upload nullo');
    }
    $file_permessi = array("image/gif","image/pjpeg","image/jpeg","image/x-png", "image/png");
    if(!in_array($_FILES['data']['type'], $file_permessi))
    {
    die('Estensione non consentita');
    }
    ///////////////////////
    //crea la thumbsnail///
    //////////////////////
    $ThumbWidth = $img_thumb_width;
    //crea la nuova immagine
    if($_FILES['data']['size']){
    if($_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    $new_img = imagecreatefromjpeg($_FILES['data']['tmp_name']);
    }elseif($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    $new_img = imagecreatefrompng($_FILES['data']['tmp_name']);
    }elseif($_FILES['data']['type'] == "image/gif"){
    $new_img = imagecreatefromgif($_FILES['data']['tmp_name']);
    }
    //ottiene larghezza e altezza dell'immagine originale.
    list($width, $height) = getimagesize($_FILES['data']['tmp_name']);
    //calcola le proporzioni e ottiene dimensioni thumbsnail
    $imgratio=$width/$height;
    if ($imgratio>1){
    $newwidth = $ThumbWidth;
    $newheight = $ThumbWidth/$imgratio;
    }else{
    $newheight = $ThumbWidth;
    $newwidth = $ThumbWidth*$imgratio;
    }
    //funzione per ridimensionare l'immagine.
    if (function_exists(imagecreatetruecolor)){
    $resized_img = imagecreatetruecolor($newwidth,$newheight);
    }else{
    die("Errore: Assicurati che sul tuo server siano installate le GD library");
    }
    //ridimensionamento
    if($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagealphablending($resized_img, false);
    }
    imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    //salva l'immagine
    $nome_file = strtolower($_FILES['data']['name']);
    if($_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    imagejpeg ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagesavealpha($resized_img, true);
    imagepng ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif($_FILES['data']['type'] == "image/gif"){
    imagegif($resized_img,"$cartella_thumbs/$nome_file");
    }
    ImageDestroy ($resized_img);
    ImageDestroy ($new_img);
    }
    if(!is_uploaded_file($_FILES['data']['tmp_name']))
    {die('Erroe nel caricamento');
    }
    move_uploaded_file($_FILES['data']['tmp_name'],$cartella_upload .$nome_file)
    or die('Non posso caricare il file');
    echo "file caricato con successo
    ";
    echo "Antemprima: <img src=\"$cartella_thumbs/$nome_file\" />";
    }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    che errore ottieni? Per sicurezza aggiungi un error_reporting(E_ALL) all'inizio dello script.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Ciao scusa ma ti ripeto che ho paca conoscenza con il linguaggio php quindi ti prego di essere il più semplice possibile grazia, non ho capito cosa mi stai chiedendo

  4. #4
    Cmq nessuno errore non mi fa il controllo delle dimensioni

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Cercherò di essere super-semplice.
    1) All'inizio del tuo script, aggiungi
    Codice PHP:
    <?php
      error_reporting
    (E_ALL);
    ?>
    Questo fa sì che vengano mostrati tutti gli errori e i warning (capirai perché provando), anche quelli da configurazione di sistema verrebbero soppressi (probabilmente ti indicherà che non trova nessun $_FILE['image'] - vedi più sotto)

    2) mi pare di capire leggendo il resto dello script, che il tuo campo file nel form si chiami "data", tu cerchi di verificare un campo file di nome "image" (a meno che non sia un refuso) e quindi non trova proprio niente. Sistema anche il controllo dimensioni così:
    Codice PHP:
    // Ottengo le informazioni sull'immagine
    list($width$height$type$attr) = getimagesize($_FILES['data']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 600x800
    if (($width 600) || ($height 800)) {
      die(
    "Dimensioni non corrette");

    PS: usa i tag CODE o PHP per postare il codice la prossima volta.


    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    ok allora escie un errore che prima non mi dava ed è questo:
    Parse error: parse error in D:\Inetpub\webs\freestyleparkit\public\upload\uplo ad2.php on line 15

    la line 15 corisponde a else

    questo è lo script come lo modificato io il form per upload è in un' altra pagina
    Codice PHP:
    <?php 
      error_reporting
    (E_ALL); 
    ?>
    <?
    //percorsi cartelle per il caricamento dei files
    $cartella_thumbs "../../public/foto/montagne/";
    $cartella_upload "../../public/foto/varie/";
    //la larghezza delle miniature, in pixel
    $img_thumb_width 600;
    //visualizza il modulo di caricamento file
    {
    ?>
    <?
    }
    else
    {
    //verifica le dimensioni del file caricato
    if($_FILES['data']['size'] ==0)
    {   
    die(
    'Errore : campo upload nullo');   

    // Ottengo le informazioni sull'immagine
    list($width$height$type$attr) = getimagesize($_FILES['image']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 600x800
    if (($width 600) || ($height 800)) 
    {
    die(
    ' Dimensioni non corrette'); 
    }
    $file_permessi = array("image/pjpeg","image/jpeg");
    if(!
    in_array($_FILES['data']['type'], $file_permessi))
    {   
    die(
    'Estensione non consentita');   
    }
    ///////////////////////
    //crea la thumbsnail///
    //////////////////////
    $ThumbWidth $img_thumb_width;
    //crea la nuova immagine
    if($_FILES['data']['size']){
    if(
    $_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    $new_img imagecreatefromjpeg($_FILES['data']['tmp_name']);
    }elseif(
    $_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    $new_img imagecreatefrompng($_FILES['data']['tmp_name']);
    }elseif(
    $_FILES['data']['type'] == "image/gif"){
    $new_img imagecreatefromgif($_FILES['data']['tmp_name']);
    }
    //ottiene larghezza e altezza dell'immagine originale.
    list($width$height) = getimagesize($_FILES['data']['tmp_name']);
    //calcola le proporzioni e ottiene dimensioni thumbsnail
    $imgratio=$width/$height;
    if (
    $imgratio>1){
    $newwidth $ThumbWidth;
    $newheight $ThumbWidth/$imgratio;
    }else{
    $newheight $ThumbWidth;
    $newwidth $ThumbWidth*$imgratio;
    }
    //funzione per ridimensionare l'immagine.
    if (function_exists(imagecreatetruecolor)){
    $resized_img imagecreatetruecolor($newwidth,$newheight);
    }else{
    die(
    "Errore: Assicurati che sul tuo server siano installate le GD library");
    }
    //ridimensionamento
    if($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagealphablending($resized_imgfalse);
    }
    imagecopyresized($resized_img$new_img0000$newwidth$newheight$width$height);
    //salva l'immagine
    $nome_file strtolower($_FILES['data']['name']);
    if(
    $_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    imagejpeg ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif(
    $_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagesavealpha($resized_imgtrue);
    imagepng ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif(
    $_FILES['data']['type'] == "image/gif"){
    imagegif($resized_img,"$cartella_thumbs/$nome_file");
    }
    ImageDestroy ($resized_img);
    ImageDestroy ($new_img);
    }
    if(!
    is_uploaded_file($_FILES['data']['tmp_name']))
    {die(
    'Erroe nel caricamento');   
    }   
    move_uploaded_file($_FILES['data']['tmp_name'],$cartella_upload .$nome_file)   
    or die(
    'Non posso caricare il file');
    echo 
    "L'immagine è stata ridimensionata ed inserita con successo:
     <img src=\"
    $cartella_thumbs/$nome_file\" />
    "
    ;
    echo 
    "continua ad:
    "
    ;
    }
    ?>
    <html>
    <head>
    <title>Image Report</title>
    <script language="JavaScript">
    <!--
    function FP_changeProp() {//v1.0
     var args=arguments,d=document,i,j,id=args[0],o=FP_getObjectByID(id),s,ao,v,x;
     d.$cpe=new Array(); if(o) for(i=2; i<args.length; i+=2) { v=args[i+1]; s="o"; 
     ao=args[i].split("."); for(j=0; j<ao.length; j++) { s+="."+ao[j]; if(null==eval(s)) { 
      s=null; break; } } x=new Object; x.o=o; x.n=new Array(); x.v=new Array();
     x.n[x.n.length]=s; eval("x.v[x.v.length]="+s); d.$cpe[d.$cpe.length]=x;
     if(s) eval(s+"=v"); }
    }

    function FP_getObjectByID(id,o) {//v1.0
     var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
     else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
     if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
     for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
     f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
     for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
     return null;
    }

    function FP_changePropRestore() {//v1.0
     var d=document,x; if(d.$cpe) { for(i=0; i<d.$cpe.length; i++) { x=d.$cpe[i];
     if(x.v=="") x.v=""; eval("x."+x.n+"=x.v"); } d.$cpe=null; }
    }
    // -->
    </script>
    </head>
    <body>


    <font face="Verdana">[b]
    <a href="http://www.freestylepark.it/public/upload/INDEX-UPLOAD.htm">
    <font size="2" color="#808080">
    <span style="text-decoration: none" id="id1" onmouseout="FP_changePropRestore()" onmouseover="FP_changeProp(/*id*/'id1',1,'style.backgroundColor','#FFFF00')">1>INSERIRE ALTRE FOTO</span></font></a><font size="2"> 
    <font color="#808080"></font><a href="http://www.freestylepark.it/public/foto/index.php">
    <font color="#808080">


    <span style="text-decoration: none" id="id2" onmouseout="FP_changePropRestore()" onmouseover="FP_changeProp(/*id*/'id2',1,'style.backgroundColor','#FFFF00')">2>GUARDA TUTTE LE FOTO INSERITE</span></font></a><font color="#808080">
    </font></font>[/b]</font></p>
    <body>
    <html>

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ti offendi se tiro ad indovinare? Lo faccio lo stesso: Non è che hai poca dimestichezza con php più che altro non hai la più pallida idea di quello che stai facendo

    Vediamo un po' che hai scritto... c'è un else che non centra niente, non hai corretto il $_FILE['image'] in $_FILE['data'] etc etc... più di un suggerimento hai bisogno di un programmatore.

    Va bene improvvisarsi un po', peò qui mancano le basi.

    C'è anche un altro problema: se fai uso di GD (le librerie grafiche) e stai su un hosting xyz con piano windows (ed è il tuo caso, non metto il nome del servizio hosting per non violare le regole del forum) sappi che avrai problemi, a meno che non abbiano di recente cambiato le cose... semplicemente perché le GD non sono abilitate.
    Ciò detto, prendi tutto quello che c'è al di sopra del tag html, buttalo e mettici questo. Premetto che non mi sono spinto a leggere oltre il problema delle prime righe (ma vedo più sotto altri problemi - tipo un tag img prima dell'inizio della pagina stessa e altre cosette) per cui molto probabilmente, fermo restando il problema di compatibiità di tale script con il tuo servizio hosting, salteranno fuori altre magagne.
    Codice PHP:
    <?php
      error_reporting
    (E_ALL);

    //percorsi cartelle per il caricamento dei files
    $cartella_thumbs "../../public/foto/montagne/";
    $cartella_upload "../../public/foto/varie/";

    //la larghezza delle miniature, in pixel
    $img_thumb_width 600;

    //visualizza il modulo di caricamento file
    // [SIZE=4]MANCA DEL CODICE[/SIZE]

    //verifica le dimensioni del file caricato
    if($_FILES['data']['size'] ==0) {   
      die(
    'Errore : campo upload nullo');   
    }

    // Ottengo le informazioni sull'immagine
    list($width$height$type$attr) = getimagesize($_FILES['data']['tmp_name']);
    // Controllo che le dimensioni (in pixel) non superino 600x800
    if (($width 600) || ($height 800)) {
      die(
    "Dimensioni non corrette");
    }

    $file_permessi = array("image/pjpeg","image/jpeg");
    if(!
    in_array($_FILES['data']['type'], $file_permessi))
    {   
    die(
    'Estensione non consentita');   
    }
    ///////////////////////
    //crea la thumbsnail///
    //////////////////////
    $ThumbWidth $img_thumb_width;
    //crea la nuova immagine
    if($_FILES['data']['size']){
    if(
    $_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    $new_img imagecreatefromjpeg($_FILES['data']['tmp_name']);
    }elseif(
    $_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    $new_img imagecreatefrompng($_FILES['data']['tmp_name']);
    }elseif(
    $_FILES['data']['type'] == "image/gif"){
    $new_img imagecreatefromgif($_FILES['data']['tmp_name']);
    }
    //ottiene larghezza e altezza dell'immagine originale.
    list($width$height) = getimagesize($_FILES['data']['tmp_name']);
    //calcola le proporzioni e ottiene dimensioni thumbsnail
    $imgratio=$width/$height;
    if (
    $imgratio>1){
    $newwidth $ThumbWidth;
    $newheight $ThumbWidth/$imgratio;
    }else{
    $newheight $ThumbWidth;
    $newwidth $ThumbWidth*$imgratio;
    }
    //funzione per ridimensionare l'immagine.
    if (function_exists(imagecreatetruecolor)){
    $resized_img imagecreatetruecolor($newwidth,$newheight);
    }else{
    die(
    "Errore: Assicurati che sul tuo server siano installate le GD library");
    }
    //ridimensionamento
    if($_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagealphablending($resized_imgfalse);
    }
    imagecopyresized($resized_img$new_img0000$newwidth$newheight$width$height);
    //salva l'immagine
    $nome_file strtolower($_FILES['data']['name']);
    if(
    $_FILES['data']['type'] == "image/pjpeg" || $_FILES['data']['type'] == "image/jpeg"){
    imagejpeg ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif(
    $_FILES['data']['type'] == "image/x-png" || $_FILES['data']['type'] == "image/png"){
    imagesavealpha($resized_imgtrue);
    imagepng ($resized_img,"$cartella_thumbs/$nome_file");
    }
    elseif(
    $_FILES['data']['type'] == "image/gif"){
    imagegif($resized_img,"$cartella_thumbs/$nome_file");
    }
    ImageDestroy ($resized_img);
    ImageDestroy ($new_img);
    }
    if(!
    is_uploaded_file($_FILES['data']['tmp_name']))
    {die(
    'Erroe nel caricamento');   
    }   
    move_uploaded_file($_FILES['data']['tmp_name'],$cartella_upload .$nome_file)   
    or die(
    'Non posso caricare il file');
    echo 
    "L'immagine è stata ridimensionata ed inserita con successo:
     <img src=\"
    $cartella_thumbs/$nome_file\" />
    "
    ;
    echo 
    "continua ad:
    "
    ;
    }
    ?>
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    è vero e ti ringrazio della tua pazienza cmq adesso mi da errore line 88

  9. #9
    gd penso siano abilitate perchè ho fatto

    Codice PHP:
    <?   
    phpinfo
    ()   
    ?>
    e mi da questo risultato

    gd
    GD Support enabled
    GD Version bundled (2.0.34 compatible)
    FreeType Support enabled
    FreeType Linkage with freetype
    FreeType Version 2.1.9
    T1Lib Support enabled
    GIF Read Support enabled
    GIF Create Support enabled
    JPG Support enabled
    PNG Support enabled
    WBMP Support enabled
    XBM Support enabled

    e cmq lo script funzione è solo che io volevo aggiungere quei due controlli

  10. #10
    scusa, tu dici
    che l’immagine non sia inferiore di queste dimensioni (600*800)
    poi metti questo controllo
    Codice PHP:
    if (($width 600) || ($height 800)) { 
      die(
    "Dimensioni non corrette"); 

    che e' esattamente l'opposto.

    percio', quale delle due cose e' corretta?


    ciao
    danno

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.