Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: script per immagini

  1. #1
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    script per immagini

    Ciao a tutti, sto cercando uno script per gestire le immagini da un DB.
    Mi spiego meglio, ho da visualizzare su di un sito un grosso quantitativo di immagini e vorrei visualizzarle come 4 o 6 per riga.
    Per l'estrazione delle immagini dal DB non ho alcun problema, ma non riesco a trovare uno script che mi gestisca il numero massimo di immagini per riga.
    Qualcuno può aiutarmi?
    GRAZIE a tutti VOI!!!
    POLINET

    N.B. ieri ho postato su questo forum per la ricerca di uno script, siete stati fantastici... in poche ore ho risolto il mio problema.

    GRAZIE!!!!!!!!!
    ¿Hasta la pasta?

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    questo è testato e funziona per incolonnare su tre colonne... che detto diversamente stampa tre img ad esempio in ogni riga...poi va a capo.. sfrutta il table html e nella while devi passare le condizioni del cursore del tuo db (*_fetch_row() ad esempio, dove * è mysql ad esempio).. $var è una variabile generica che a te potrebbe corrispondere ad un campo valorizzato dal ciclo..
    dimmi se riesci ad adattarlo da solo, altrimenti te lo adatto io..

    Codice PHP:
    <?
    ...
    $i=1;
    echo 
    "<table>";
    while(...){

    if (
    $i==1)
    echo 
    "<tr>" // sono prima colonna apro riga

    echo "<td>".$var."</td>" // stampo colonna

    if ($i==3){
    echo 
    "</tr>"// sono all'ultima colonna, chiudo
    $i=0// riparto
    }

    $i++;
    }
    if (
    $i!=1)
    echo 
    "<td colspan=".(4-$i)."></tr>";
    echo 
    "</table>";
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Ho visto che ce un articolo molto dettagliato qui:

    http://forum.html.it/forum/showthrea...hreadid=469430

    GRAZIE LUKE83!!!!!!

    ti faccio sapere!
    CIAO
    ¿Hasta la pasta?

  4. #4
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    prendi quello che è molto più dettagliato e fatto ad ok.. dev solo cambiare qualche variabile e stai correndo....

    se hai problemi posta che vediamo di risolvere...

    [ot]-----e adesso la pappa...[/ot]

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  5. #5
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    funziona ma...

    Lo script funziona, ma
    mi stampa questo:

    $array[tipo] $array[tipo] $array[tipo]
    $array[tipo] $array[tipo] $array[tipo]
    $array[tipo] $array[tipo] $array[tipo]
    $array[tipo] $array[tipo] $array[tipo]
    $array[tipo]

    //stampo le celle dei risultati
    echo'<td width="$cell_width%">$array[tipo]</td>';



    Buon Appetito.!!!!!!
    ¿Hasta la pasta?

  6. #6
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217

    Re: funziona ma...

    niente paura.. è un errore banale... gli apici singoli ti stampano la stringa esattamente come l'hai scritta te...
    quindi..
    Codice PHP:
    //stampo le celle dei risultati 
    echo "<td width=\"$cell_width%\">$array[tipo]</td>"
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  7. #7
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    ok

    avrei dovuto accorgermene!!!!!!!
    Grazie sei molto gentile.
    A presto..!!!!
    se ho qualche problema...
    mi faccio sentire!!!!
    GRAZIE
    ¿Hasta la pasta?

  8. #8
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    per LUKE83

    Ne approfitto per chiederti una cosa (se hai tempo e voglia); quello che ho dei seri problemi è l'inserimento di immagini nel DB.
    Il mio server/provider mi ha dedicato una cartella per l'inserimento delle immagini, l'amministratore del sito ha un pannello di controllo da dove inserire le immagini, ma ho uno script che non riesco ad adattare alle mie esigenze (fornito da lui), mi spiego: riesco ad inserire le immagini nella cartella (fino ad adesso solo in locale) ma non riesco a inserire il nome dell'immagine nel DB.

    ti mando lo script?

    Scusami se ne approfitto... ma sei un genio in queste cose... ho visto!!!!!

    PAOLO
    ¿Hasta la pasta?

  9. #9
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    certo.. se mandi siamo a cavallo.. altrimenti se spulci sul forum cercando upload e simili troverai qualcosa di già fatto.. come ho già detto quando rimando nn è per noia o menefreghismo è solo che trovi soluzioni migliori (come avrai notato proprio in questa discussione) delle mie, questo in quanto c'è magari chi prima di me ha affrontato la cosa ed in maniera dettagliata... se posti codice cerco sempre di risolverti il problema, avendo una base è + sempile, veloce e anke + sicuro onde evitare fraintendimenti..

    Scusami se ne approfitto... ma sei un genio in queste cose... ho visto!!!!!
    ci provo solo, dài... grazie...
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  10. #10
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    LUKE83 eccolo!!!!

    // upload.php

    <?php
    ob_start();
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    </head>

    <body>
    <form action="" method="post" enctype="multipart/form-data" name="form1">
    <input name="foto" type="file" id="foto">
    <input type="submit" name="Submit" value="Invia">
    </form>
    <hr style="width:100% ">
    <?php
    include('img.class.php');

    if($_FILES['foto']){
    $immagine=$_FILES['foto']['tmp_name'];
    $I=new IMG($immagine);
    $type=$I->getType();
    if($type!="jpeg"&&$type!="png") echo "Il formato della foto non è corretto.
    ";
    else {$type=($type=="jpeg")?"jpg":$type;
    $nome=$_FILES['foto']['name'];
    if(file_exists(str_replace(".","_m","img/".$nome))) echo "Attenzione un'immagine con questo nome esiste già!!! Rinomina l'immagine.
    ";
    else {
    $I=new IMG($immagine);
    $I->resize_max(600,600); //riduco l'immagine fino a quando sta in un retangolo con dimensioni 600,600 (quadrato in questo caso)
    $nomebis=str_replace(".","_m.",$nome);
    $I->save("img/$nomebis");

    $I=new IMG($immagine);
    $I->centro_proporzionato(100,100); //creo un'immagine 100x100 recuperando il quadrato massimo proporzionato all'interno della immagine originale
    $nomebis=str_replace(".","_p.",$nome);
    $I->save("img/$nomebis");
    echo "Immagini create.
    ";
    }
    }
    header("refresh:3 url=upload.php");
    }

    if ($dir = @opendir("img")) {
    while (($file = readdir($dir)) !== false) {
    if($file != "." && $file != ".." && !is_dir("img/$file")) {
    $filename = "img/".$file;
    if(substr($filename,-6,-3)=="_p."){
    echo "<img src=\"$filename\" style=\"margin: 2px;\">";
    }
    }
    }
    }
    closedir($dir);
    ?>
    </body>
    </html>

    ---------------------------------------------------------
    ---------------------------------------------------------
    ---------------------------------------------------------

    // img.class.php

    <?php
    class IMG{
    //dichiaro le VARIABILI GLOBALI
    var $_img; //variabile globale dell'immmagine
    var $_x; //variabile globale dimensione width img
    var $_y; //variabile globale dimensione height img
    var $_type; //variabile globale tipo img
    var $_width; //dimensione w immagine finale
    var $_height; //dimensione h immagine finale
    var $_versione; // versione dell'immagine orizzontale o verticale

    //dichiaro il COTRUTTORE
    function IMG($file=""){
    if($file!=""){
    $this->_x=0;
    $this->_y=0;
    $this->info($file);
    $this->load($file);
    }
    }

    // definisco la funzione "load"
    function load($file){
    if($file=="") return FALSE;
    if($this->_type=="") return FALSE;
    else {
    switch($this->_type){
    case "gif":
    return FALSE; //questo perché le img GID con la GD2 non funzionano
    break;

    case "jpeg":
    $this->_img=imagecreatefromjpeg($file);
    break;

    case "png":
    $this->_img=imagecreatefrompng($file);
    break;

    case "wbmp":
    $this->_img=imagecreatefromwbmp($file);
    break;

    default:
    return FALSE;
    break;
    }
    return TRUE;
    }
    }

    //ritorno valore width
    function getWidth(){
    return $this->_x;
    }

    //ritorno valore height
    function getHeight(){
    return $this->_y;
    }

    //ritorno valore type
    function getType(){
    return $this->_type;
    }

    //ritorno versione type
    function getVersione(){
    if($this->_x > $this->_y) $this->_versione="o"; //orizzontale
    else $this->_versione = "v"; //verticale
    return $this->_versione;
    }

    //dichiarazione delle caratteristiche dell'img
    function info($file){
    if($file=="") return FALSE;
    $info=getimagesize($file);
    if($info==FALSE) return FALSE;
    else {
    switch($info[2]){
    case 1:
    $this->_type="gif";
    break;

    case 2:
    $this->_type="jpeg";
    break;

    case 3:
    $this->_type="png";
    break;

    case 6:
    $this->_type="wbmp";
    break;

    default:
    return FALSE;
    break;
    }
    $this->_x=$info[0]; //assegno il valore a x e y
    $this->_y=$info[1];
    return TRUE;
    }
    }

    /*-----> dichiarazione funzione "RESIZE"
    ridimensiona l'immagine dentro una quadro con dimensioni
    passate e inserisce il colore passato nello spazio rimanente
    */
    function resize($width="",$height="",$r=255,$g=255,$b=255){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    if($this->_x>$width||$this->_y>$height){
    $scale = min($width/$this->_x, $height/$this->_y);
    $img_width = (int)($this->_x*$scale);
    $img_height = (int)($this->_y*$scale);
    $deltaw = (int)(($width - $img_width)/2);
    $deltah = (int)(($height - $img_height)/2);
    $newimg=imagecreatetruecolor($width,$height); //imagecreatetruecolor GD2
    $color = imagecolorallocate ($this->_img,$r,$g,$b);
    imagefill($newimg,0,0,$color);
    $ok=imagecopyresampled($newimg,$this->_img,$deltaw,$deltah,0,0,$img_width,$img_height,$ this->_x,$this->_y); //imagecopyresampled GD2
    $this->_x=$width;
    $this->_y=$height;
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    } else {
    $deltaw = (int)(($width - $this->_x)/2);
    $deltah = (int)(($height - $this->_y)/2);
    $newimg=imagecreatetruecolor($width,$height); //imagecreatetruecolor GD2
    $color = imagecolorallocate ($this->_img,$r,$g,$b);
    imagefill($newimg,0,0,$color);
    $ok=imagecopyresampled($newimg,$this->_img,$deltaw,$deltah,0,0,$this->_x,$this->_y,$this->_x,$this->_y); //imagecopyresampled GD2
    $this->_x=$width;
    $this->_y=$height;
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    }
    }
    }

    /*------>dichiarazione funzione "RESIZE MAX"
    ridimensiona le immagini in modo che stiano
    all'interno di un'area definita
    */
    function resize_max($max_w="",$max_h=""){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    if($this->_x>$max_w||$this->_y>$max_h){
    $scale = min($max_w/$this->_x, $max_h/$this->_y);
    $img_width = (int)($this->_x*$scale);
    $img_height = (int)($this->_y*$scale);
    $newimg=imagecreatetruecolor($img_width,$img_heigh t); //imagecreatetruecolor GD2
    $ok=imagecopyresampled($newimg,$this->_img,0,0,0,0,$img_width,$img_height,$this->_x,$this->_y); //imagecopyresampled GD2
    $this->_x=$img_width;
    $this->_y=$img_height;
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    } else {
    $newimg=imagecreatetruecolor($this->_x,$this->_y); //imagecreatetruecolor GD2
    $ok=imagecopyresampled($newimg,$this->_img,0,0,0,0,$this->_x,$this->_y,$this->_x,$this->_y); //imagecopyresampled GD2
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    }
    }
    }

    /*-----> dichiarazione funzione "IMG CENTRALE"
    prende l'area centrale dell'immagine di dimensioni definite
    e la ridimensiona alle nuove dimensioni che vengono passate
    GD2 nuove .... )
    */
    function centro($width="",$height="",$por_w="",$por_h=""){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    $x=($this->_x-$por_w)/2;
    $y=($this->_y-$por_h)/2;
    $newimg=imagecreatetruecolor($width,$height);
    $ok=imagecopyresampled($newimg,$this->_img,0,0,$x,$y,$width,$height,$por_w,$por_h); //imagecopyresampled GD2
    $this->_x=$width;
    $this->_y=$height;
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    }
    }

    /*-----> dichiarazione funzione "IMG CENTRALE"
    prende l'area centrale dell'immagine di dimensioni definite
    e la ridimensiona alle nuove dimensioni che vengono passate
    GD2 nuove .... )
    */
    function centro_proporzionato($width="",$height=""){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    $scale=min($this->_x/$width,$this->_y/$height);
    $por_w=$width*$scale;
    $por_h=$height*$scale;
    $x=($this->_x-$por_w)/2;
    $y=($this->_y-$por_h)/2;
    $newimg=imagecreatetruecolor($width,$height);
    $ok=imagecopyresampled($newimg,$this->_img,0,0,$x,$y,$width,$height,$por_w,$por_h); //imagecopyresampled GD2
    $this->_x=$width;
    $this->_y=$height;
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    }
    }


    /*-----> dichiarazione funzione "IMG CENTRALE"
    prende l'area centrale dell'immagine di dimensioni definite
    e la ridimensiona alle nuove dimensioni che vengono passate
    GD2 vecchia .... (
    */
    function centro2($width="",$height="",$por_w="",$por_h=""){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    $x=($this->_x-$por_w)/2;
    $y=($this->_y-$por_h)/2;
    $newimg=imagecreatetruecolor($width,$height);
    $tmp_img=imagecreatetruecolor($por_w,$por_h);

    imagecopy ($tmp_img, $this->_img,0,0,$x,$y,$por_w,$por_h);
    $ok=imagecopyresampled ($newimg,$tmp_img,0,0,0,0,$width,$height,$por_w,$p or_h);

    $this->_x=$width;
    $this->_y=$height;
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    }
    }


    /*-----> dichiarazione funzione "RESIZE STRECH"
    ridimensiona alle dimensioni stabilite strecciando l'immagine (senza mantenere il rapporto originale)
    */
    function resize_strech($width="",$height=""){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    $this->_width=$width;
    $this->_height=$height;
    $newimg=imagecreatetruecolor($this->_width,$this->_height);
    $ok=imagecopyresampled($newimg,$this->_img,0,0,0,0,$this->_width,$this->_height,$this->_x,$this->_y);
    $this->_x=$this->_width;
    $this->_y=$this->_height;
    if($ok==FALSE) return FALSE;
    else {
    $this->_img=$newimg;
    return TRUE;
    }
    }
    }

    /* -----> dichiarazione funzione "ADD_IMG"
    aggiunge una immagine sopra l'originale
    */
    function add_img($x,$y,$d,$img,$width,$height){
    if($d=="sopra"){
    $pawn = imagecreatefrompng ($img);
    $ok=imagecopy ($this->_img, $pawn, $x, $y, 0, 0, $width, $height);
    } else if($d=="sotto"){
    $pawn = imagecreatefrompng ($img);
    $ok=imagecopy ($pawn, $this->_img, $x, $y, 0, 0, $width, $height);
    $this->_img=$pawn;
    }
    //$this->_x=($this->_x>$width)?$this->_x:$width;
    //$this->_y=($this->_y>$height)?$this->_y:$height;
    if($ok==FALSE) return FALSE;
    else {
    return TRUE;
    }
    }

    /* -----> dichiarazione funzione "SAVE"
    salva l'immagine con il nome passato
    */
    function save($nome,$qualita="60"){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    $func="image".$this->_type;
    $ok=call_user_func($func,$this->_img,$nome);
    if($ok!=FALSE) return FALSE;
    else {
    return TRUE;
    }
    }
    }

    /*---> dichiarazione funzione "DISPLAY"
    stampa l'immagine sullo schermo
    */
    function display($qualita="60"){
    if($this->_x==0||$this->_y==0) return FALSE;
    else {
    header("Content-Type: image/".$this->_type."");
    $func="image".$this->_type;
    $ok=call_user_func($func,$this->_img,"",$qualita);
    if($ok==FALSE) return FALSE;
    else {
    return TRUE;
    }
    }
    }
    }
    ?>



    mmmm
    che dici?
    ¿Hasta la pasta?

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.