Uutiset:

Ei uusia uutisia.

Main Menu

PHP-skriptiä pukkaa

Aloittaja meteorologi, maanantai, 12.05.2008, 19:01

« edellinen - seuraava »

0 Jäsenet ja 2 Vieraat katselee tätä aihetta.

meteorologi

Kyhäilin ehtolauseet nyt tuohon METAR-säädataan, jonka WUHU myös kirjoittaa currdat.lst-tiedostoon.

Mukavaa hommaa tämä koodailu; virheistä oppii, vaikka joskus tekisi mieli viskata kone jorpakkoon.

meteorologi

Noniin.
Nyt sain sen lopullisesti valmiiksi, joten se on katsottavissa minun sivuilta!

meteorologi

Olipas se kuitenkin aika yksinkertainen; eli miten saadaan joidenkin arvojen väliltä tehtävä.

    if($palo  > 97.5) {
$mbi = '<font color="#FF0000">Erittäin korkea</font>';
}


else if ($palo > 90)
{
  $mbi = '<font color="#800000">Hyvin korkea</font>';
}


else if ($palo > 75)
{
$mbi = '<font color="#FF7F00">Korkea</font>';
}

else if ($palo > 50)
{
$mbi = '<font color="#0000FF">Keskitaso</font>';
}

else
{
$mbi = '<font color="#008080">Matala</font>';
}

weatherc

On se php loppujen lopuksi aikas helppoa tämmöisillä perus-juituilla ja kun kerran alkuun pääsee niin loppua ei nääy, aina haluaa keksiä otain uutta  ;D

Lainaa($metsapaloindeksi = > 40 < 100)

Tuosta sen verran että sen pitäisi olla:

(($metsapaloindeksi > 40) && ($metsapaloindeksi < 100)) tomiakseen

meteorologi

Entä löytyykö sellaista PHP-koodia, joka näyttäisi halutun kuvan, mikäli minun videokuvan lähetysosoite (eli esim. http://123.43.56.78:8081) on poissa?

Jos se stereamaus-osoite siis on olemassa, iframella se näytetään. Jos Yawcam on taas offline, eikä se lähetä videokuvaa, PHP-koodi näyttää haluamani kuvan iframen paikalla.

J.Jäntti

Lainaus käyttäjältä: Meteorologi - lauantai, 16.08.2008, 12:04
Entä löytyykö sellaista PHP-koodia, joka näyttäisi halutun kuvan, mikäli minun videokuvan lähetysosoite (eli esim. http://123.43.56.78:8081) on poissa?

Jos se stereamaus-osoite siis on olemassa, iframella se näytetään. Jos Yawcam on taas offline, eikä se lähetä videokuvaa, PHP-koodi näyttää haluamani kuvan iframen paikalla.

Et välttämättä tarvitse PHP-skriptiä tuohon toimintoon, sillä tiettävästi Yawcamilla on olemassa tuollainen järjestelmä suoraan, että sen oma Java-katselupalikka käy tarkistamassa, onko kamera online-tilassa. Jos se ei ole, se heittää suoraa sinun määrittelemäsi kuvan streamin tilalle.
Juha Jäntti
Foorumin ja sivuston ylläpitäjä
Finland Weather Exchange (FinWX)

http://www.finwx.net/
------------------------------------------
Ukkoskausi avattu Suomessa: --.--.2024
Ukkoskausi avattu Helsingissä: --.--.2024
-------------------------------------------
Ukkospäivälaskuri 2024; Helsinki/Viikinmäki
0 ukkospäivää.
------------------------------------------
X, FinWX:n ylläpidon ilmoitukset
------------------------------------------

J.Jäntti

Lainaus käyttäjältä: Hade - lauantai, 16.08.2008, 16:30
Tuota toimintoa olen etsinyt, ei löydy.
Ainoastaan kun pysäytät FTP, saa liitteenä olevan kuvan näkyviin

Tuntuu jotenkin oudolta, ettei sitä enää siinä olisi. Taidanpas vilkaista hieman tuota ohjelmaa uudelleen. Ei tuollaista toimintoa voida poistaa sieltä ilman, että siitä olisi tullut huutoa.

Tiettävästi tuo koskee sekä Yawcam:n Streamia, että FTP:tä.
Juha Jäntti
Foorumin ja sivuston ylläpitäjä
Finland Weather Exchange (FinWX)

http://www.finwx.net/
------------------------------------------
Ukkoskausi avattu Suomessa: --.--.2024
Ukkoskausi avattu Helsingissä: --.--.2024
-------------------------------------------
Ukkospäivälaskuri 2024; Helsinki/Viikinmäki
0 ukkospäivää.
------------------------------------------
X, FinWX:n ylläpidon ilmoitukset
------------------------------------------

weatherc

Lainaus käyttäjältä: Meteorologi - lauantai, 16.08.2008, 12:04
Entä löytyykö sellaista PHP-koodia, joka näyttäisi halutun kuvan, mikäli minun videokuvan lähetysosoite (eli esim. http://123.43.56.78:8081) on poissa?

Jos se stereamaus-osoite siis on olemassa, iframella se näytetään. Jos Yawcam on taas offline, eikä se lähetä videokuvaa, PHP-koodi näyttää haluamani kuvan iframen paikalla.

Löysin tälaisen pikku php:n sitä varten:

/**
* Check if a url exists
*/
function url_exists($url)
{
    if(!strstr($url, "http://"))
    {
        $url = "http://".$url;
    }

    $fp = @fsockopen($url, 8081);

    if($fp === false)
    {
        return false;   
    }
    return true;
}


Vaihda tuo 80 siihen porttiin jota sulla käytössä.

toimii näin:

$urlcheck = url_exists(http://123.43.56.78);

if ($urlcheck == TRUE) {
// IFRAMEKOODI TÄHÄN
} else {
// OFFLINEKOODI TÄHÄN
}

;D ;D

Henkka

weatherc

#58
Noniiin...

Jenkkinörteillä ww-foorumilla on tylsää, ovat pistäneet kasaan skriptin joka näyttää kaikki aurinko-tiedot käyttäen php:n sunrise/sunset-funktiota....Vaatii php5:sen...  ;D ;D ;D

Se näyttää tiedot käyttäen aikavyöhykettä sekä koordinaatteja, alla oleva tulos on säädetty Halikolle...
Hmmm...Tuotahan vois käyttää vaikka mihin sivuilla... ;)

Tässä tulos:

LainaaTänään
Aurinko nousee: 05:02
Aurinko laskee: 19:57
Aamuhämärä alkaa: 04:16
Iltahämärä päättyy: 20:43
Merellinen hämärä alkaa: 03:11
Merellinen hämärä päättyy: 21:48
Tähtitaivas alkaa vaaleta: 01:25
Tähtitaivas on tummunut: 23:34
Valoisan ajan pituus: 16:27
Päivän pituus: 14:55

Huomenna
Aurinko nousee: 05:04
Aurinko laksee: 19:54
Aamuhämärä alkaa: 04:19
Iltahämärä päättyy: 20:39
Merellinen hämärä alkaa: 03:14
Merellinen hämärä päättyy: 21:44
Tähtitaivas alkaa vaaleta: 01:35
Tähtitaivas on tummunut: 23:23
Valoisan ajan pituus: 16:20
Päivän pituus: 14:50

Valoisan ajan ero verrattuna eiliseen: -7 minuuttia
Päivän pituuden ero verrattuna eiliseen: -5 minuuttia


Ja tässä koodi:

<?php
// set elsewhere
# or use on style "US/Phoenix" "US/Eastern" "US/Pacific"...
$SITE['TZ'] = "Europe/Helsinki";  
$SITE['LAT'] = 60.38426;
$SITE['LONG'] = 23.06889;

get_times();

echo 
"<b>Tänään</b><br/>\n";
echo 
"Aurinko nousee: " $VALS['sunrise'] . "<br/>\n";
echo 
"Aurinko laskee: " $VALS['sunset'] . "<br/>\n";
echo 
"Aamuhämärä alkaa: " $VALS['civiltwstart'] . "<br/>\n";
echo 
"Iltahämärä päättyy: " $VALS['civiltwend'] . "<br/>\n";
echo 
"Merellinen hämärä alkaa: " $VALS['nauticaltwstart'] . "<br/>\n";
echo 
"Merellinen hämärä päättyy: " $VALS['nauticaltwend'] . "<br/>\n";
echo 
"Tähtitaivas alkaa vaaleta: " $VALS['astrotwstart'] . "<br/>\n";
echo 
"Tähtitaivas on tummunut: " $VALS['astrotwend'] . "<br/>\n";
echo 
"Valoisan ajan pituus: " $VALS['lenvislight'] . "<br/>\n";
echo 
"Päivän pituus: " $VALS['lenofday'] . "<br/>\n";

echo 
"<br/>\n<b>Huomenna</b><br/>\n";

echo 
"Aurinko nousee: " $VALS['tsunrise'] . "<br/>\n";
echo 
"Aurinko laksee: " $VALS['tsunset'] . "<br/>\n";
echo 
"Aamuhämärä alkaa: " $VALS['tciviltwstart'] . "<br/>\n";
echo 
"Iltahämärä päättyy: " $VALS['tciviltwend'] . "<br/>\n";
echo 
"Merellinen hämärä alkaa: " $VALS['tnauticaltwstart'] . "<br/>\n";
echo 
"Merellinen hämärä päättyy: " $VALS['tnauticaltwend'] . "<br/>\n";
echo 
"Tähtitaivas alkaa vaaleta: " $VALS['tastrotwstart'] . "<br/>\n";
echo 
"Tähtitaivas on tummunut: " $VALS['tastrotwend'] . "<br/>\n";
echo 
"Valoisan ajan pituus: " $VALS['tlenvislight'] . "<br/>\n";
echo 
"Päivän pituus: " $VALS['tlenofday'] . "<br/>\n";

echo 
"<br/>\n";

echo 
"Valoisan ajan ero verrattuna eiliseen: " 
   
out_time((getTimestamp($VALS['tlenvislight']) - getTimestamp($VALS['lenvislight'])),0) .
    
"<br/>\n";
echo 
"Päivän pituuden ero verrattuna eiliseen: " 
   
out_time((getTimestamp($VALS['tlenofday']) - getTimestamp($VALS['lenofday'])),0) .
    
"<br/>\n";
    
    
exit;

function 
get_times() {
    global 
$SITE$VALS;
    
    
// Set the timezone we want to use
    
set_tz$SITE['TZ'] );
    
    
// Use your location information
    
$lat $SITE['LAT'];    // South is negative
    
$long $SITE['LONG'];   // West is negative
    
$timeused $timetoday;
    
$timetoday time();
    
$timetommorrow $timetoday 86400;
    
    
$zenith=90+50/60;
    
$VALS['sunrise'] = date_sunrise($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['sunset'] = date_sunset($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tsunrise'] = date_sunrise($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tsunset'] = date_sunset($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
        
    
$zenith=96;
    
$VALS['civiltwstart'] = date_sunrise($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['civiltwend'] = date_sunset($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tciviltwstart'] = date_sunrise($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tciviltwend'] = date_sunset($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
        
    
$zenith=102;
    
$VALS['nauticaltwstart'] = date_sunrise($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['nauticaltwend'] = date_sunset($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tnauticaltwstart'] = date_sunrise($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tnauticaltwend'] = date_sunset($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
        
    
$zenith=108;
    
$VALS['astrotwstart'] = date_sunrise($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['astrotwend'] = date_sunset($timetodaySUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tastrotwstart'] = date_sunrise($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
    
$VALS['tastrotwend'] = date_sunset($timetommorrowSUNFUNCS_RET_STRING$lat$long$zenith);
        
    
// Other values
    
$VALS['lenvislight'] = out_time((getTimestamp($VALS['civiltwend']) - getTimestamp($VALS['civiltwstart'])),1);
    
$VALS['lenofday'] = out_time((getTimestamp($VALS['sunset']) - getTimestamp($VALS['sunrise'])),1);
    
$VALS['tlenvislight'] = out_time((getTimestamp($VALS['tciviltwend']) - getTimestamp($VALS['tciviltwstart'])),1);
    
$VALS['tlenofday'] = out_time((getTimestamp($VALS['tsunset']) - getTimestamp($VALS['tsunrise'])),1);  

}



function 
set_tz ($TZ){
    if (
phpversion() >= "5.1.0") {
        
date_default_timezone_set($TZ);
    } else {
        
putenv("TZ=" $TZ);
    }
}

function 
getTimestamp ($val) {
    list (
$hour,$min) = preg_split("/:/",$val);
    
$ttl = ($min 60) + ($hour 60 60);
    return(
$ttl);
}


function 
out_time $seconds $mode false) {
    
$uday = (3600 24);
    
$uhr 3600;
    
$umin 60;
    
    if (
$seconds ) {
        
$neg "-" ;
        
$seconds $seconds * -;
        
//echo "Seconds = " . $seconds . "<br/>";
        
    
} else {
        
$neg "" ;
    }
    
    
// Calculate days
    
$dd intval($seconds $uday );
    
$mmremain = ($seconds - ($dd $uday));
    
    
// Calculate hours
    
$hh intval($mmremain $uhr);    
    
$ssremain = ($mmremain - ($hh $uhr));  
    
    
// Calculate minutes
    
$mm intval($ssremain $umin);
    
$ss = ($ssremain - ($mm $umin));
    
    
// If day or days
    
if ($dd == 1) { $days 'day';  }
    if (
$dd ) { $days "days"; }
    
    if (!
$mode) {
        
// String for if there are days
        
if ( $dd ) {
            
$out_string sprintf("%d %s %02d tuntia %02d minuuttia"
                
$dd$days$hh$mm);
        }
        
        
// String if there are hours
        
if ( $dd == && $hh ) {
            
$out_string $neg sprintf("%d tuntia %02d minuuttia"
                
$hh$mm);
        }
        
        
// String if there are minutes
        
if ( $dd == && $hh == && $mm ) {
            
$out_string $neg sprintf("%d minuuttia"
                
$mm);
        }
        
        
// Only output Seconds
        
if ( $hh == && $mm == ) {
            
$out_string $neg sprintf("%d secs"$ss) ;
        }
    } else {
        
// String for if there are days
        
if ( $dd ) {
            
$out_string $neg sprintf("%d:%s %02d:%02d"
                
$dd$days$hh$mm);
        }
        
        
// String if there are hours
        
if ( $dd == && $hh ) {
            
$out_string $neg sprintf("%d:%02d"
                
$hh$mm);
        }
        
        
// String if there are minutes
        
if ( $dd == && $hh == && $mm ) {
            
$out_string $neg sprintf("00:%02d"
                
$mm);
        }
        
        
// Only output Seconds
        
if ( $hh == && $mm == ) {
            
$out_string $neg sprintf("%d secs"$ss) ;
        }       
        
    }
    
    
// Return value
    
return ($out_string);
}

function 
time24to12 ($val) {
    if (
strlen($val) == ) {
        
$val .= ":00";
    }
    
    return( 
date("g:i a"strtotime($val)) );

?>


EDIT: Muokattu suomekieliseksi, eli yllä oleva skripti on täysin toimiva, muokkaa vain koordinaatit sulle sopivaksi.
Live-versio siitä löytyy tuosta: http://www.nordicweather.net/suntest.php

;D ;D

Henkka

meteorologi

Todella hieno skirpti!
Minäkin laitan tuon käyttöön.