Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 05-02-2019, 14:44
mario25829
 Registrierter Benutzer
Links : Onlinestatus : mario25829 ist offline
Registriert seit: Feb 2019
Beiträge: 1
mario25829 befindet sich auf einem aufstrebenden Ast
Standard Auswahl des immer aktuellsten (Webcam) Fotos

Bin mir sicher ihr könnt mir hier helfen!

Betreibe just for fun eine Webcam und zeige immer das aktuellste Bild, natürlich überlagert mit meinem Logo auf der Webseite an.

Irgendwie ist in dem Script noch eine Unreinheit, da ab und zu ein falsches Bild gewählt wird. (sieht man wenn die Sonne beim gefolgten Bild wieder zurück geht oder wieder einmal ein Bild von der Nacht angezeigt wird).

Die Fotos werden alle 10 Minuten via ftp auf den Server hochgeladen (siehe Screenshot).

Danach sollten Fotos die ein gewisses alter überschritten haben gelöscht werden, da das script sonst ewig läuft und die Seite bremsen.
(momentan werden diese noch manuell gelöscht).

Hier das Script:
get_header();

global $shopera_site_width;

use WeatherStation\Data\Output;
use WeatherStation\SDK\Clientraw\Plugin\StationCollector;

?>

<div class="content_section inner_page wettercam_page">
<?php while ( have_posts() ) : the_post(); ?>
<header class="h1">
<h1><?php echo the_title(); ?></h1>
<hr />
</header>
<div class="container content_inner">

<?php
function getLatestImage() {
ini_set("gd.jpeg_ignore_warning", 1);
$folderName = 'wetter/incomming/';
$imageEnding = '.jpg';
$newest_mtime = 0;
$base_url = ABSPATH.$folderName;
$file_ending = $imageEnding;
$show_file_old = 'images/folio/no-image.jpg';
$show_file = 'images/folio/no-image.jpg';
if ($handle = opendir($base_url)) {
while (false !== ($latestFile = readdir($handle))) {
if (($latestFile != '.') && ($latestFile != '..') && ($latestFile != '.htaccess') && (strpos($latestFile, $file_ending))) {
$mtime = filemtime("$base_url/$latestFile");
if ($mtime > $newest_mtime) {
$newest_mtime = $mtime;
$show_file_old = $show_file;
$show_file = "$latestFile";
}
}
}
}
$imageUrl = ABSPATH ."/cam_mit_logo.jpg";
$logoUrl = ABSPATH . "/wetter/logo_klein.png";

$im = @imagecreatefromjpeg("$base_url/$show_file_old");

$cam_image = imagecreatefrompng($logoUrl);
$xLogo = imagesx($cam_image);
$yLogo = imagesy($cam_image);

$xCam = imagesx($im);
$yCam = imagesy($im);


imagecopy($im, $cam_image, $xCam-$xLogo-50, $yCam-$yLogo-50, 0, 0, $xLogo, $yLogo);

imagedestroy($cam_image);
imagejpeg($im, $imageUrl);

imagedestroy($im);

return "/cam_mit_logo.jpg";
}

echo '<img src="'.getLatestImage().'" alt="Latest from the web" class="wettercam_image"></img>';
?>
<?php the_content(); ?>

</div>
<?php endwhile; ?>

</div><!-- .content_section -->


<?php
get_footer();

Vielen Dank im Voraus!
Miniaturansicht angehängter Grafiken
Auswahl des immer aktuellsten (Webcam) Fotos-ftp-server-bilder-von-webcam.jpg  
Mit Zitat antworten