Forum zajednice Joomla! Hrvatska

Webmaster kutak => Ostale webmasterske teme i pitanja => Autor teme: erbi - 28. Rujan 2017, 19:54

Naslov: Kako kontrilisati link?
Autor: erbi - 28. Rujan 2017, 19:54
Pozdrav,

imam jedan problem sa mojom skriptom. Ova skripta radi 24 sati/365dana la computeru, koji nema web servera. Ima php i kreče se je ovako:

C:\PHP\php.exe -f D:\script\control.php

A control.php izgleda ovako (nije u cjeloti, več samo dio, koji ne radi podpuno):

<?php
function posalji($data)
{
global $passwd;
$data=file_get_contents("izpis44.php");
$ch=curl_init();
curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
curl_setopt($ch,CURLOPT_URL,"https://mojastranica.com/modules/mod_play/primi44.php" );
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS"data=".urlencode($data)."&passwd=".urlencode($passwd));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,false);
curl_exec($ch);
curl_close($ch);
}

for (
$xyz 1; ; $xyz++)
{
set_time_limit (0);
$data=file_get_contents("http://localhost:5666/x/query.cgi?q=status");
if(provjeri($data))
{
sahrani($data);
posalji($data);  // OVDJE JE PITANJE, KAKO ZAOBICI
echo date("H:i:s, ");
}
sleep (10);
flush();
$data="";
$xyz 0;
}
?>


A sad moj problem. Sve radi 100%, dok ne pukne web serber na kojem je mojastranica.com i onda link https://mojastranica.com/modules/mod_play/primi44.php nije dostupan.

A sad sta želim:
Želim, da se nekako provjeri ovaj link i ako NIJE dostupan se zaobiče posalji($data);

Kako ovo uraditi, da ne pukne? Jednom kad pukne web server i kad opet radi skripta radi normalno. Drugi put pukne.
Naslov: Odg: Kako kontrilisati link?
Autor: Onebeat - 30. Rujan 2017, 19:50
Pozdrav,

zasto ti uopce server gdje je stranica "puca" ? To nije uopće normalno, ako je to zbog opterećenja servera (pretpostavljam sharani hosting) onda razmisli o VPS serveru.A sada tvoje pitanje...

Napravi if na funkciju posalji i to je to :)

function UpDownWeb($url){
       $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
       curl_setopt ($ch, CURLOPT_URL,$url );
       curl_setopt($ch, CURLOPT_USERAGENT, $agent);
       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt ($ch,CURLOPT_VERBOSE,false);
       curl_setopt($ch, CURLOPT_TIMEOUT, 5);
       curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
       curl_setopt($ch,CURLOPT_SSLVERSION,3);
       curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
       $page=curl_exec($ch);
       //echo curl_error($ch);
       $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
       curl_close($ch);
       if($httpcode>=200 && $httpcode<300) return true;
       else return false;
}
if (UpDownWeb("tvojlink"))
       echo "OK"."n";
else
       echo "DOWN";
Naslov: Odg: Kako kontrilisati link?
Autor: erbi - 01. Listopad 2017, 06:31
Hvala @onebeat.

Sasvim si u pravu. Sharing hosting, max 40 visitors, oni dan pukla internet linija Telekom->hoster, tako da i VPS ne bih radio, a i skup je. Za malo višu cjenu što imam sada (HD neograničen), dobit ču samo 12GB, što je jako malo.
Naslov: Odg: Kako kontrilisati link?
Autor: Onebeat - 01. Listopad 2017, 18:50
Nema problema, zato smo tu  ;D

Promjeni hosting kompaniju, poslao sam ti PM...