Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2024
    Messaggi
    1

    Script php con vecchia versione

    Salve, anni fa una persona mi aveva compilato questo script per la webcam del mio sito tuttavia dovendo ora aggiornare la versione php su aruba non risulta più compatibile, io purtroppo sono a digiuno di php, qualcuno può aiutarmi a modificarla ?

    <?php
    header("Refresh: 120; url=" . $_SERVER["PHP_SELF"]);
    // prepara l'array per i nomi dei file
    $directory = array();


    // prepara l'handler per la directory
    $handler = opendir('../snap');


    // apre la directory e legge i singoli nomi dei file
    while ($file = readdir($handler)) {


    // se il nome del file contiene il testo iniziale imposto dalla ipcamera lo mette nell'array
    if (substr("$file", 0, 3) == "cam") {
    $directory[] = $file;
    }


    }


    // chiude l'handler
    closedir($handler);


    // ordina la lista dei file per nome (il piu' nuovo sara' l'ultimo)
    sort($directory);


    // conta i file
    $fileCount = count($directory);


    // copia il file piu' nuovo in webcam.jpg
    // $index corrispondera' all'ultimo elemento dell'array (il primo e' 0)
    $index = $fileCount - 1;
    $fileDaCopiare = $directory[$index];
    copy($fileDaCopiare, 'webcam.jpg');

    // Original image
    $filename = 'webcam.jpg';

    // Get dimensions of the original image
    list($current_width, $current_height) = getimagesize($filename);

    // The x and y coordinates on the original image where we
    // will begin cropping the image
    $left = 0;
    $top = 0;

    // This will be the final size of the image (e.g. how many pixels
    // left and down we will be going)
    $crop_width = 3840;
    $crop_height = 1470;

    // Resample the image
    $canvas = imagecreatetruecolor($crop_width, $crop_height);
    $current_image = imagecreatefromjpeg($filename);
    imagecopy($canvas, $current_image, 0, 0, $left, $top, $current_width, $current_height);
    imagejpeg($canvas, $filename, 100);




    $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", filemtime($nome_immagine));
    }
    fclose($fp);


    header("Content-type: image/png");
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");


    $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 = "calibrib.ttf";
    $size = 32; // dimensione del testo
    $altezza_barra = 60; // 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);
    $x=imagesx($im);
    $y=imagesy($im);


    $spot = imagecreatefrompng("logo.png") ;
    $x=imagesx($spot);
    $y=imagesy($spot);
    imagecopy($im, $spot, 10, 10,0, 0, $x,$y); //immagine base, immagine applicata, (10,30)distanza angolo sup sinistro del watermark relativa alla posizione sulla base, (0,0,x,$y) porzione di immagine del logo da inserire ovvero tutta
    //CREA LE IMMAGINE FINALE
    imagejpeg($im,"",100);
    imagedestroy($im);


    ?>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Dato che stai chiedendo che qualcuno faccia del lavoro per te, la richiesta va posta nella sezione "Offro lavoro/collaborazione", anche a titolo gratuito.
    Leggi bene il regolamento della sezione prima di postare, ci sono linee guida da seguire.
    Ricordati di indicare su che versione di PHP dovrà funzionare il codice, nel pannello di controllo di Aruba dovresti trovarla indicata.

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.