Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Utilizzare "if file exist"

    Ciao a tutti!
    Dispongo di una webcam che ogni 2 minuti invia sul sito una immagine jpg ed utilizzo un file php per sovrapporre all'immagine un loghetto e la barra con data e ora dello scatto:
    http://meteovulture.com/webcam.jpg
    http://meteovulture.com/webcam.php

    Questo è il codice php:

    <?php

    $nome_immagine="webcam.jpg"; // file contenente l'immagine
    $nome_testo="testo.txt"; // file contenente le scritte

    $fp = fopen($nome_testo,"r")
    or die("impossibile aprire il file testo.txt.");
    $testo_sinistra=fgets($fp,100); // nella prima riga la scritta allineata a sinistra
    $testo_destra=fgets($fp,100); // nella seconda riga la scritta allineata a destra
    if ( $testo_destra = "data" )
    {
    setlocale(LC_TIME,"it_IT");
    $testo_destra=strftime ("%a %d %b %Y %H:%M:%S", filemtime($nome_immagine));
    }
    fclose($fp);

    header("Content-type: image/png");

    $im = imagecreatefromjpeg($nome_immagine);
    //$black = imagecolorallocate($im, 0, 0, 0);
    //$white = imagecolorallocate($im, 255, 255, 255);
    $colore_barra = imagecolorallocate($im, 1, 0, 128); // colore della barra formato RGB
    $colore_testo = imagecolorallocate($im, 255, 255, 255); // idem per testo
    $x=imagesx($im);
    $y=imagesy($im);

    $font = "VeraBd.ttf";
    $size = 8; // dimensione del testo
    $altezza_barra = 20; // dimensione della barra


    imagefilledrectangle($im, 0, $y-$altezza_barra, $x-1, $y-1, $colore_barra);

    $bbox = imagettfbbox ($size, 0, $font, $testo_sinistra);
    $dy = (($bbox[1] - $bbox[7]) / 2);
    imagettftext($im, $size, 0, 5, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_sinistra);

    $bbox = imagettfbbox ($size, 0, $font, $testo_destra);
    $dx = ($bbox[2] - $bbox[0]);
    imagettftext($im, $size, 0, $x-5-$dx, $y-($altezza_barra / 2) + $dy - 1, $colore_testo, $font, $testo_destra);

    //inserisco logo
    $logo = @imagecreatefrompng('logocam.png');
    $imagewidth = imagesx($im);
    $imageheight = imagesy($im);
    $logowidth = imagesx($logo);
    $logoheight = imagesy($logo);
    $startwidth = (($imagewidth - $logowidth) );
    $startheight = (( $imageheight - $logoheight) );

    /*imagecopy(immagine, logo, starwidth, startheight(pixel di partenza
    da dove incollare il logo. Le coordinate partono da in alto a sinistra
    e crescono andando verso il basso e verso destra), startwidthlogo,
    startheightlogo(pixels di partenza da dove copiare l'immagine del logo.
    Per copiare tutto il logo mettere 0, 0), logowidht, logoheight(numero
    di pixel da copiare del logo. Si parte sempre da in alto a sinistra a
    contare)) */

    imagecopy($im, $logo, $startwidth, 0, 0, 0, $logowidth, $logoheight);
    imagejpeg($im,"",95);

    /* Per incollare più loghi ripetere la procedura ricordandosi di mettere
    in fondo il comando: "imagedestroy($logo2)". E così via.. */

    imagejpeg($im,"",95);
    imagedestroy($im);

    ?>

    Ora vorrei inserire qualcosa per fare in modo che, nel caso manchi il file webcam.jpg, compaia un'immagine "Webcam non disponibile" (ho creato una immagine, nondisp.jpg).
    Mi hanno consigliato di utilizzare un if (file_exist .. else .. ecc ma non sono molto esperto di php e non saprei come e dove inserirlo.
    Potreste darmi una mano?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    86

    Prova così.

    Ciao, prova questo codice, effettuato il controllo del file "webcam.jpg" se non esiste assegna alla variabile $nome_immagine il valore "nodisp.jpg"

    Codice PHP:
    $nome_immagine="webcam.jpg";  if (file_exists($nome_immagine)) {     echo "Immagine da Webcam"; } else {     $nome_immagine="nondisp.jpg"     echo "Webcam non disponibile"; } 
    Saluti.

  3. #3

    Re: Prova così.

    Originariamente inviato da merf2000
    Ciao, prova questo codice, effettuato il controllo del file "webcam.jpg" se non esiste assegna alla variabile $nome_immagine il valore "nodisp.jpg"

    Codice PHP:
    $nome_immagine="webcam.jpg";  if (file_exists($nome_immagine)) {     echo "Immagine da Webcam"; } else {     $nome_immagine="nondisp.jpg"     echo "Webcam non disponibile"; } 
    Saluti.
    Ciao Merf!
    Ho provato ma nulla, così non compare nulla (nè immagine della webcam, nè immagine nondisp.png)..

  4. #4
    Ok, ho risolto il problema così
    IF (file_exists('webcam.jpg')== true) {
    $nome_immagine="webcam.jpg";
    }else{
    $nome_immagine="nondisp.jpg";
    }

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 © 2026 vBulletin Solutions, Inc. All rights reserved.