Uutiset:

Ei uusia uutisia.

Main Menu

PHP-skriptiä pukkaa

Aloittaja meteorologi, maanantai, 12.05.2008, 19:01

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

weatherc

Se on oikeastaan että osa sivun datasta rakennetaan "paikan päällä" eikä ole koodattu koodin sisään kuten normaali staattien html-sivu, esimerkkinä:


<?
$aloitus = "100";
$testi = (23 * $aloitus);
echo "Testiluku: $testi";
?>


Tuo pätkä antaa ulos "Testiluku: 2300" eli $testi on dynaaminen muuttuja jota voi muuttaa antamalla eri luku $aloitus-tagiin, normaalissa html-sivussa sun täytyy laittaa koodiin "testiluku: 2300" eikä tuo luku ole siten dynaaminen vaan se on siinä ja pysyy.

Henkka

meteorologi

Jaa, no nyt alkaa selviämään!  :)
Mutta entä kokonaiset sivut? Esimerkiksi sinun sivuilla voi nähdä:
index.php?sivu=100   .
Ja tuo on kokonainen yksittäinen rakenteellinen sivu.

weatherc

Se toimii ihan samlla periatteella, lyhyesti näin:

ensin haen tuon sivu-parametrin talteen vaikka näin:

$sivu = $_GET[sivu];

Nyt mulla luku 100 tallessa. Index.php-sivulla on sitten kohdassa missä itse sivu alkaa (siis siinä kohtaa koodia jossa, tässä tapauksessa, yläreuna ja sivulaita ladattu) niin ei tulekkaan sivun koodia vaan tyyliin:

include "$sivu.php";

jolloin se lataa kyseisen sivun siihen. Tällä tyylillä mun ei tarvi tehdä jokaiselle sivulle koko sivua vaan pelkästään se main-osa siitä ja koko homman kasaajana toimii tuo index.php. Siten on myös muokkaaminen helppoa, ei tarvi muuttaa kun yhdestä kohtaa ja muutos näkyy koko sivulla.
Tuota sivu-parametriä käytän sitten muuhunkin, kuten sivulaidan rakenteluun, eli sivunumeron perusteella näytetään eri asioita, esimerkkinä sivu-laidan menu, se on täysin php/css-ohjattu eli käytännössä sivunumeron perusteella noita ala-meuita näytellään eikä ensmäistäkään javaskriptiä siihen tarvita. Jos vertaat sääsivun ja sääverkon sivulaitaa ne ovat täysin erinäköisiä mutta ne ajetaan samalla skriptillä juuri tuota sivunumeroa käyttäen tyylillä:

if($sivu < 100) {
echo "päläpälä";
} else {
echo "pulupulu";
}

;D

Henkka

meteorologi

Lainaus käyttäjältä: weatherc - sunnuntai, 15.06.2008, 21:57
Se toimii ihan samlla periatteella, lyhyesti näin:

ensin haen tuon sivu-parametrin talteen vaikka näin:

$sivu = $_GET[sivu];

Nyt mulla luku 100 tallessa. Index.php-sivulla on sitten kohdassa missä itse sivu alkaa (siis siinä kohtaa koodia jossa, tässä tapauksessa, yläreuna ja sivulaita ladattu) niin ei tulekkaan sivun koodia vaan tyyliin:

include "$sivu.php";

jolloin se lataa kyseisen sivun siihen. Tällä tyylillä mun ei tarvi tehdä jokaiselle sivulle koko sivua vaan pelkästään se main-osa siitä ja koko homman kasaajana toimii tuo index.php. Siten on myös muokkaaminen helppoa, ei tarvi muuttaa kun yhdestä kohtaa ja muutos näkyy koko sivulla.
Tuota sivu-parametriä käytän sitten muuhunkin, kuten sivulaidan rakenteluun, eli sivunumeron perusteella näytetään eri asioita, esimerkkinä sivu-laidan menu, se on täysin php/css-ohjattu eli käytännössä sivunumeron perusteella noita ala-meuita näytellään eikä ensmäistäkään javaskriptiä siihen tarvita. Jos vertaat sääsivun ja sääverkon sivulaitaa ne ovat täysin erinäköisiä mutta ne ajetaan samalla skriptillä juuri tuota sivunumeroa käyttäen tyylillä:

if($sivu < 100) {
echo "päläpälä";
} else {
echo "pulupulu";
}

;D

Henkka


Kiitos!
Nyt asiat valkenevat, kuin mustan verhon olisi vetäissyt pois!  :D

weatherc


meteorologi

Aion ruveta harjoittelemaan pian noita rakenteita.  :)

meteorologi

Lainaus käyttäjältä: J.Jäntti - torstai, 15.05.2008, 22:38
Lainaus käyttäjältä: Meteorologi - torstai, 15.05.2008, 17:56
Tällaiseen "käytännön" ongelmaan törmäsin. Vai onko olemassa ohjelmaa, joka päivittäisi tietyn väliajoin jonkun tiedoston palvelimelle?
Minun tapauksessani PHP-skripti pitäisi omalla palvelimella suoritettuna ja "tulostettuna" lähettää kotisivutilantarjoajan pavelimelle, ilman suoritettavia PHP-rivejä. Kyllä kotisivutilan palvelin näyttää .php-päätteiset tiedostot, aivan samoin kuin Notepadissa.

WUHU kykenee lähettämään currdat.lst-filun ihan suoraan käyttäen Windows:n omaa ftp-ohjelmaa. Jos sinulla on käytössä WUHU:sta versio v216- siellä Alerts/Actions-napin takana on pelottavan näköinen säätömahdollisuuksien armada.

Olen järjestänyt oman automaattilähetykseni näin:

-- Main Action/Alert Configuration --
[X] Enable Actions
(o) Repetitions   1

-- WUHU Operation Alarms/Actions --
[X] On Weather Update
    [X] On Update Seconds   300

[Sound/Action] -nappi:
-- Action on Activation --
silent:C:\WINDOWS\System32\ftp.exe "-s:C:\WINDOWS\Scripts\wu.ftp"

Huomioitavaa:
(o) Repetitions  1
Tarkoittaa, kuinka moneen kertaan WUHU:n tulee tuo Actioni ajaa, kun määritetty hälytys tai asia Actionin päälle liipaisee.

[X] On Update Seconds   300
Tarkoittaa, että ylempänä oleva On Weather Update-kohta ajetaan vain kerran 300 sekunnissa (=5 minuutissa), vaikka Weather Update tulisikin sääasemakonsolilta useammin. Weather Update:lla tarkoitetaan sitä hetkeä, kun säätiedot tulevat konsolista ja WUHU sen näyttää.

Action on Activation:
silent:C:\WINDOWS\System32\ftp.exe "-s:C:\WINDOWS\Scripts\wu.ftp"
Tällä komennolla WUHU kutsuu Windows:in ftp.exe:ä suorittamaan siirto siten, kuin tiedostossa wu.ftp on komennettu. "silent:"-etuliite aiheuttaa sen, ettei erillistä Command Prompt-ikkunaa läpsähdä keskelle ruutua joka kerta, kun WUHU suorittaa komennon.

On tärkeää laittaa tuo komento täsmälleen tuossa muodossa kaikkine lainausmerkkeineen päivineen, muutoin siirtoa ei tapahdu.
Itselläni tuo toimii aivan loistavasti ja täysin läpinäkyvästi. Skripti ajaa serverilläni IP-kameran ottaman kuvan Weather Undergroundin kuvapankkiin joka 5. minuutti.

Käytössäni oleva versio WUHU:sta on v216 Beta 37.


Yritin saada tuon wu.ftp-skriptin lähettämään currdat.lst:n nettiin, mutta ongelmaksi muodostui se, ettei konellani ole wu.ftp-skriptiä. Eikä Windows-kansiossa ole edes olemassakaan sellaista, kuin Scripts-alikansio.

Mitä pitäisi siis tehdä, että saisin tuon lähetyksen pyörimään? Pitäisikö luoda tuo skripti käsin?  ???

J.Jäntti

Lainaus käyttäjältä: Meteorologi - maanantai, 07.07.2008, 12:42
Yritin saada tuon wu.ftp-skriptin lähettämään currdat.lst:n nettiin, mutta ongelmaksi muodostui se, ettei konellani ole wu.ftp-skriptiä. Eikä Windows-kansiossa ole edes olemassakaan sellaista, kuin Scripts-alikansio.
Mitä pitäisi siis tehdä, että saisin tuon lähetyksen pyörimään? Pitäisikö luoda tuo skripti käsin?  ???

Kyseessä oli vain esimerkki, jota seuraamalla ja soveltamalla se omaan järjestelmään paremmin istuvaksi se saadaan toimimaan.

Scripts-alihakemistoa ei ole missään tapauksessa pakko luoda, vaan se voi olla muuallakin. Silloin tuo polkumääritys täytyy vain osoittaa sinne, minne tuon kansion luot

Samat asiat pätevät myös wu.ftp-tiedostoon: Sen ei edes tarvitse olla tuon niminenkään, vaan se voi olla vaikka ftp.txt. wu.ftp-skripti on käytännössä vain vastaustiedosto Microsoftin omalle ftp.exe-ohjelmalle ja sinne kirjoitetaan ne komennot, jotka kirjoittaisit itse, kun käytät kyseistä ohjelmaa.

Tältä näyttää minun wu.ftp-tiedoston sisältö (kaikki ne kohdat, jotka sinun tulee täyttää vastaamaan omaa tilannettasi, ovat merkitty Lihavoituna ja kursiivilla:
Lainaus käyttäjältä: wu.ftp
open webcam.wunderground.com
Käyttäjätunnus
Salasana
lcd X:\paikka\jossa\kuva\on
bin
put webcam-kuvatiedoston_nimi.jpg
close

Jos törmäät vielä ongelmiin, niin kysy pois. Apu on lähellä. :)
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
------------------------------------------

meteorologi

Minun ei siis pidä vaihtaa kohtaan "open webcam.wunderground.com" omaa kotisivutilaani?
Salasana ja käyttäjätunnus olisivat sitten Wunderground-palvelun?


J.Jäntti

Lainaus käyttäjältä: Meteorologi - maanantai, 07.07.2008, 17:24
Minun ei siis pidä vaihtaa kohtaan "open webcam.wunderground.com" omaa kotisivutilaani?
Salasana ja käyttäjätunnus olisivat sitten Wunderground-palvelun?

Ok, minulta jäi tuo kohta kokonaan huomiotta.
Jos sinulla on oma kotisivutila, niin silloin tuo "open webcam.wunderground.com" siten, että "webcam.wunderground.com"-kohdan muutat omaa kotisivutilasi FTP-serverin osoitteeksi.

Eli jos otamme uudestaan tuon skriptin ja kuvittelemme, että lähetät kotisivutilaasi currdat.lst-tiedoston niin tuo ftp.exe:n vastaustiedosto näyttäisi jotakin tällaiselta:
Lainaus käyttäjältä: "currdat_siirtaja.txt
open ftp-serveri.palveluntarjoajallasi.fi
Käyttäjätunnus
Salasana
lcd X:\polku\jossa\currdat-filu\on
ascii
put currdat.lst
close

Vaihtamalla lihavoidulla kursiivilla varustetut kohdat vastaamaan kotisivutilasi tietoja ja oman koneesi paikkoja, saat koneesi ftp.exe:n toimimaan täysautomaattisesti.

WUHU:n suhteen tilanne on se, että siitä on jo versio 216.46. Itselläni on 216.42 käytössä, eli nuo ohjeet, jotka ovat tässä viestiketjussa ovat vanhentuneet aika pahasti. Kannattaa asentaa tuo 216.46 piakkoin, sillä se sisältää paremmat mahdollisuudet WUHU:lle ohjata esim. noita tiedoston lähetyksiä. Saat sen itsellesi vaikkapa tästä linkistä.

Dokumenttien mukaan 216.46:ssa on FTP-siirto sisäänrakennettuna, mutta se on vasta beta-vaiheessa, joten suosittelen käyttämään käyttöjärjestelmän FTP.EXE:ä ainakin tässä vaiheessa.

Opastan sinut mielelläni tuon WUHU:n ohjaustiedoston luonnissa, sillä sellainen on minulla käytössäni.
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
------------------------------------------