• User Attivo

    echo immagini da cartella sito

    Salve a tutti ho fatto questo script per echo immagini da una cartella specifica del mio server su una mia pagina web

    [PHP]<?php
    $dir = "/web/htdocs/miosito/home/imgs/";
    // Open a known directory, and proceed to read its contents
    if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
    echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
    }
    closedir($dh);
    }
    }

    ?>[/PHP]

    nella pagina mi compaiono solo i nomi dei files. Ma nn mi visualizza nessuna immagine..... :mmm:
    Mi aiutate? grazie in anticipo a tutti!!!!

    p.s. vorrei che le immagini si ridimensionano 60x60 e al clic la si visualizza


  • User Attivo

    [..]

    Prova cosi:

    [php]<?php
    $dir = "/web/htdocs/miosito/home/imgs/";
    // Open a known directory, and proceed to read its contents
    if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
    echo "filename: $file : filetype: " . filetype($dir . $file) . "\n<br>";
    echo "<img src="$dir.$file">\n<br>";
    }
    closedir($dh);
    }
    }

    ?>[/php]


  • User Attivo

    Mi da questo errore
    Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /web/htdocs/www.miosito/home/immagini.php on line **81

    😞
    **


  • User Attivo

    Stò provando quest'altro.

    [php]
    function immagini_random($path =

    "web/htdocs/miosito/home/dir_upload/images/") {
    //definiamo le estensioni consentite
    $estensioni = array('gif','jpg','jpeg');

    //apriamo la cartella
    if(!$cartella = @opendir($path)) {
    die("Impossibile aprire la directory.");
    } else {
    while(($immagine = readdir($cartella)) !== false)
    {

    if($immagine == "." || $immagine == "..") {
    continue;
    }

    // verifichiamo le estensioni
    list($nome_file,$estensione) = explode(".",$immagine);
    if(!in_array(strtolower($estensione),$estensioni)) {
    continue;
    } else {

    // memorizziamo il contenuto della cartella
    // in un array
    $immagini[] = $immagine;
    }
    }

    // non più necessario
    //srand((float)microtime()*10000000);

    // mostriamo l'immagine casuale
    $val = array_rand($immagini);
    return $path . "/" . $immagini[$val];
    }
    }

    // esempio di utilizzo
    $mostra = immagini_random("./dir_upload/images/");
    echo "<img src="$mostra" />"; [/php]
    ma mi visualizza solo una immagine.. mah..

    aiutooo


  • User Attivo

    Perdonami, ho sbagliato nella trascrizione!

    <?php
    $dir = "/web/htdocs/miosito/home/imgs/";
    // Open a known directory, and proceed to read its contents
    if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
    echo "filename: $file : filetype: " . filetype($dir . $file) . "\n<br>";
    echo "<img src="".$dir.$file."">\n<br>";
    }
    closedir($dh);
    }
    }

    ?>


  • User Attivo

    Mi compaiono delle imgs vuote.....
    non capisco.. aiuto

    naturalmente ho anche dato i permessi 777 alla cartella e ai files in esso contenuti


  • User Attivo

    echo "<img src="".$file."">\n<br>";


  • User Attivo

    Non funziona ancora.... 😞
    forse devo fare qualcosa con header ?


  • User Attivo

    Prova cosi, a me funziona ottimamente...
    [php]<?php
    $dir = "/web/htdocs/miosito/home/imgs/";
    // Open a known directory, and proceed to read its contents
    if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
    if ( $file == ".." || $file == ".") {
    continue;
    }
    echo "filename: $file : filetype: " . filetype($dir . $file) . "\n<br>";
    echo "<img src="".$dir.$file."">\n<br>";
    }
    closedir($dh);
    }
    }

    ?>[/php]


  • ModSenior

    [php]
    <?
    // Nome della cartella
    $car = 'cartella/';

    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);

    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    // Stampo i file
    if ($files != '.' && $files != '..')
    echo '<img src="'.$files.'" /><br />';

    }
    ?>
    [/php]


  • Super User

    Ciao Davide-Al, ti invito a evitare l'sms style e a fare attenzione all'ortografia.
    Molti post ti sono stati editati dal Moderatore in questo 3D.

    Grazie


  • User Attivo

    Ok, funziona, adesso vorrei aggiungere un logo alle immagini, ho fatto questo script per vedere se il mio server supporta le librerie gd

    [php]<?php
    if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
    echo "libreria gd assente";
    }
    }
    else echo "libreria gd presente";
    ?>[/php] e_sono presenti, ma non riesco a farlo funzionare...
    questo è lo script watermark per scrivere sulle immagini che faccio caricare.

    [php]<?php

    Jpeg

    ./configure --enable-shared --enable-static --prefix=/usr/local/jpeg; make; make test; make install;

    zlib

    ./configure --shared --prefix=/usr/local/zlib; make; make test; make install;

    libpng (zlib)

    make; make test; make install;

    freetype2

    ./configure --prefix=/usr/local/freetype2; make; make install;

    GD 2 (jpeg, libpng, freetype2)

    './configure'
    '--prefix=/usr/local/gd2'
    '--with-zlib=/usr/local/zlib'
    '--with-png=/usr/local/libpng'
    '--with-freetype=/usr/local/freetype2'
    '--with-jpeg=/usr/local/jpeg/lib';
    make;
    make install;

    --with-gd=dir --enable-exif --enable-gd-native-ttf --with-gd=dir --with-jpeg-dir=dir --with-png-dir=dir --with-freetype-dir=dir --with-ttf;

    // istanzio una nuova immagine di dimensioni x=200 e y=300
    $imageCreateTrueColor(200, 300);
    // assegno il primo colore, questo colore sarà anche lo sfondo dell'immagine
    $bianco = imageColorAllocate($immagine, 255, 255, 255);
    // assegno un secondo colore, da utilizzare per colorare il testo
    $nero = imageColorAllocate($immagine, 0, 0, 0);
    // disegno una linea nell'imagine
    $imageLine($imageRef, 0, 0, 0, 0, 255, 255, 255);
    //secchiello colori
    $imageFill($imageRef, $x, $y, $color);
    // visualizzo il testo "MIO SITO
    imageString($immagine, 2, 100, 100, "IL MIO SITO", $nero);
    // imposto correttamente gli header
    header("Content-type: image/jpeg");
    // invio l'output come immagine jpeg
    imageJpeg($immagine);
    // Determine image size and type
    $size = getimagesize($this->image_path);
    $size_x = $size[0];
    $size_y = $size[1];
    $image_type = $size[2]; // 1 = GIF, 2 = JPG, 3 = PNG

    // libero la memoria
    imageDestroy($immagine);

    ?>[/php]Ma mi da errore si sintassi....

    mi aiutate? grazie a tutti!!!!


  • ModSenior

    Se ci riporti l'errore, penso sia più facile aiutarti, altrimenti dobbiamo controllarci tutte le righe 😄


  • User Attivo

    Mi da questo errore

    Parse error: syntax error, unexpected '.' in /web/htdocs/www.miosito.net/home/prova/watermark_prova.php on line **3

    io stò su un server linux di aruba.it

    Non capisco l'errore..
    Grazie ragazzi
    **


  • ModSenior

    Server o hosting?

    perchè su hosting di utilizzare ./configure --enable-shared --enable-static --prefix=/usr/local/jpeg; make; make test; make install;
    mi pare difficile


  • User Attivo

    Non è uguale? In pratica ho uno spazio linux per il mio sito. Sicuramente hosting , che so per certo che è linux 😉
    che cambia?
    Ma poi ./configure --enable-shared --enable-static --prefix=/usr/local/jpeg; make; make test; make install; si usa per l'hosting o il server?


  • ModSenior

    Quel comando server per installare, non puoi farlo su un hosting, ma occorre un server su cui hai accesso diretto, e la cosa cambia totalmente.

    In ogni caso su aruba le librerie dovrebbero essere già presenti...


  • User Attivo

    Quindi devo togliere quel comando? E deve funzionare?

    difatti la funzione <?php
    if (!extension_loaded('gd')) {
    if (!dl('gd.so')) {
    echo "libreria gd assente";
    }
    }
    else echo "libreria gd presente";
    ?>

    mi dice che le librerie sono presenti, poi ho tolto quel codice per installare le librerie e mi da questo errore

    Fatal error: Call to undefined function: () in /web/htdocs/www.miosito.net/home/prova/watermark_prova.php on line 4


  • Super User

    Ciao Davide-Al, ti ho ricordato in un post in questo 3D di fare attenzione a non utilizzare SMS Style e fare attenzione alle Maiuscole, ma vedo che continui, ti cito il regolamento, che come Utente Premium dovresti conoscere bene :

    3.1. I titoli ed i testi devono essere scritti in italiano corretto, sia grammaticamente che ortograficamente.
    Postare frasi con errori evidenti è sempre una forma di NON rispetto per chi legge.
    Non sono consentiti termini abbreviativi da sms come: nn_mlt_cn_qst_sn_xkè_ke_x_cmq+*_ ***ecc..
    Oltre ad una pessima capacità comunicativa, tali sigle, così come gli errori di battitura, NON sono recepiti dai bot dei motori di ricerca, vanificando un'adeguata indicizzazione della pagina.
    Il Moderatore editerà a sua discrezione testi ritenuti sgrammaticati o in sms style.

    Ti invito a rileggere il regolamento prima di postare ancora, ulteriori infrazioni non saranno tollerate.


  • User Attivo

    Scusa, la fretta mi fa fare errori. Non succede più. Grazie per avermi richiamato.