[ erngab @ 10.04.2012. 11:34 ] @
Pronasao sam sajt gde objasnjava postavljanje vremenske prognoze na websajt - radi se o php postavljen na html .
http://stackoverflow.com/quest...ifying-data-language-utf-8-and

Tu sam ja nesto sastavio ...
Na test local serveru mi radi redovno, otvara stranica i vidi se vremenska.
Kada ga stavim na remote server ne otvara stranicu. Dobijam gresku:
Code:
Warning: file_get_contents(http://www.google.com/ig/api?weather=palić&hl=hr) [function.file-get-contents]: failed to open stream: Permission denied in /home/www/palic.moleri.org/index.php on line 4

Fatal error: Call to a member function xpath() on a non-object in /home/www/palic.moleri.org/index.php on line 7


Index.html sam preimenovao u index.php i tu linije izgledaju ovako:
Code:
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <?
3 $URL = "http://www.google.com/ig/api?weather=palić&hl=hr";
4 $dataInISO = file_get_contents($URL);
5 $dataInUTF = mb_convert_encoding($dataInISO, "UTF-8", "ISO-8859-2");
6 $xml = simplexml_load_string($dataInUTF);
7 $information = $xml->xpath("/xml_api_reply/weather/forecast_information");
8 $current = $xml->xpath("/xml_api_reply/weather/current_conditions");
9 $forecast_list = $xml->xpath("/xml_api_reply/weather/forecast_conditions");
10 ?>


Vremenska izgleda ovako:
Code:
        <!-- vremenska -->
        <div id="vremenska">
           <div id="module">
        <h3>Danas</h3>
        <div class="weather">
            <table border="0">
                <tr>
                    <td><img src="<?= 'http://www.google.com' . $current[0]->icon['data']?>" alt="Palić Vremenska Prognoza" class="vremenska_icone"?></td>
                    <td><div><?= $forecast->day_of_week['data']; ?></div>           
                    <span class="condition">
                    <?= $current[0]->temp_c['data'] ?>&deg; C,
                    <?= $current[0]->condition['data'] ?>
                    </span></td>
                 </tr>
               </table>
        </div>
        <h3>Prognoza</h3>
        <?php foreach ($forecast_list as $forecast) : ?>
        <div class="weather">
            <table border="0">
                <tr>
                    <td><img src="<?= 'http://www.google.com' . $forecast->icon['data']?>" alt="Palić Vremenska Prognoza" class="vremenska_icone"?></td>
                    <td><div><?= $forecast->day_of_week['data']; ?></div>
                    <span class="condition">
                    <?= $forecast->low['data'] ?>&deg; C - <?= $forecast->high['data'] ?>&deg; C,
                    <?= $forecast->condition['data'] ?>
                    </span></td>
                 </tr>
             </table>
        </div>
        <?php endforeach ?>
          </div>   
      </div>
        <p>
  <!-- vremenska --> 


U cemu je problem gde sam pogresio zasto neradi na remote
Pozdrav
[ PHPovac @ 10.04.2012. 12:16 ] @
Ne smeš da imaš ć u adresi. zameni ć sa %C4%87
[ erngab @ 10.04.2012. 12:57 ] @
Nisam procitao redovno poruku
http://www.google.com/ig/api?weather=pali%C4%87&hl=hr
Code:

Warning: file_get_contents(http://www.google.com/ig/api?weather=pali%C4%87&hl=hr) [function.file-get-contents]: failed to open stream: Permission denied in /home/www/palic.moleri.org/index.php on line 4

Fatal error: Call to a member function xpath() on a non-object in /home/www/palic.moleri.org/index.php on line 7


[Ovu poruku je menjao erngab dana 10.04.2012. u 14:09 GMT+1]

[Ovu poruku je menjao erngab dana 10.04.2012. u 14:13 GMT+1]
[ djoka_l @ 10.04.2012. 13:28 ] @
Sve ti piše u error tekstu.

Prvo u liniji 4 ne uspeva file_get_contents (vraća FALSE umesto fajla) jer nije omogućen allow_url_fopen u php.ini). Dakle, udaljeni server ne dopušta da umesto fajla otvoriš url.

Dalje, pošto file_get_contents nije vratio XML objekt, tada u liniji 7 $xml->xpath ne može da prođe, jer je $xml FALSE, a ne objekat...
[ erngab @ 10.04.2012. 14:52 ] @
Hvala ti djoka_l na objasnjenju ali ovo mi je prvi php u zivotu koji pokusavam da koristim. Ti si to lepo objasnio ali ja sta treba da radim to mi nije jasno.
Preimenovao sam html u php i to je sada php - OK to mi je jasno.
U stvari nije mi ni to jasno kako mogu na primer ako je sva vremenska prognoza recimo u vremenski.php pokrenuti da radi u index.pxp (trenutno je sva vremenska prognoza u index.php - koju komandu treba da zadam?).
Osnovne stvari ne znam a kamoli ostalo - a bas mi se svidela ova vremenska prognoza bilo bi slicno ovome:
http://demo.komunitasweb.com/weather.php
[ djoka_l @ 10.04.2012. 15:20 ] @
OK, u prevodu, ako na udaljenom serveru ne možeš da promeniš php.ini fajl, tada ti funkcija file_get_contents nikada neće vratiti sadržaj ako joj postaviš kao argument URL umesto fajla.

Ako ti je udaljeni server neki public host, tada ti nijedan provajder neće dozvoliti da menjaš php.ini, niti će uključiti allow_url_fopen jer je to ulaz za injekciju malicioznog koda i potencijalna bezbednosna rupa.

Nema načina da to zaobiđeš, zaboravi skript...
[ erngab @ 10.04.2012. 15:35 ] @
ako dobro vidim mogu ja podesavati taj php.ini
http://img3.imageshack.us/img3/7901/selection003dm.png
ima tu svega i Save Changes i Reset Forms - sto bi rekli ko voli neka izvoli

PS. Uzgred onaj allow_url_fopen je na ON

[Ovu poruku je menjao erngab dana 10.04.2012. u 16:49 GMT+1]
[ erngab @ 10.04.2012. 23:54 ] @
Dobio sam odgovor na problem iz freehostia.com provajder koristim free verziju.
Citat:
You are not able to use the mentioned software in a free hosting account. I will have to inform you that for your hosting plan which is Free there is no outgoing connection services included. You will need to upgrade to a paid hosting plan in order your scripts to reach remote servers.

Hvala Vam na pomoci.
Pozdrav - izvinite na smetnji