Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, nao estou conseguindo acessar a url do meu servidor, a url é : http://casacomarduino.dlinkddns.com:1600/?acao=101, ja utilizei FOPEN, CURL nenhum deu certo, o mais estranho é que funciona no servidor local, pfv me ajudem.
O link esta abrindo corretamente, estou utilizando arduino e ele liga uma lampada aqui em casa, queria saber se tem algum comando que acione esse link toda vez que eu entrar em uma página, eu utilizei o fopen mas só funciona no servidor local, no servidor onde eu hospedo ele nao funciona.
<?php
$teste = fopen("[http://casacomarduino.dlinkddns.com:1600/?acao=101](http://casacomarduino.dlinkddns.com:1600/?acao=101)", "r");
?>
esse é o códigoAcendeu aqui
Para usar arquivo remoto (http por exemplo) na função fopen, você tem que habilitar a diretiva de configuração allow_url_fopen ( http://php.net/manual/pt_BR/filesystem.configuration.php#ini.allow-url-fopen ).
Mas você também pode usar a função file_get_contents:
<?php
$teste = file_get_contents("http://casacomarduino.dlinkddns.com:1600/?acao=101");vou tentar aqui agora
Retornou a seguinte msg : Warning: file_get_contents(http://casacomarduino.dlinkddns.com:1600/?acao=101): failed to open stream: Connection timed out in /home/u318276766/public_html/ch-administrador/fopen.php on line 2
engraçado que com outros links como do google funciona normalmente, só com o meu que nao da certo
No servidor local funcionou, vc acha que o problema pode ser onde estou hospedando?
Pode ser que sim...
Como está o código desse arquivo?
<?php
function testeOnclick() {
$hostname = ""; // Host // endereço
$username = ''; // Usuario
$password = ''; // Senah
$database = ''; //Nome do bd
$tipo ;
$horario ;
$tempo ;
try {
$pdo = new PDO("mysql:host=$hostname;dbname=$database", $username, $password,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
echo 'Conexao efetuada com sucesso!';
}
catch(PDOException $e)
{
echo $e->getMessage();
echo 'erro na conexao!';
}
// executa a instrução SQL
$consulta = $pdo->query("SELECT tipo, horario, tempo, cont FROM horta");
//executa um comando while para salvar as variaveis
while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) {
$tipo = $linha['tipo'];
$horarioIniciar = $linha['horario'];
$tempo = $linha['tempo'];
$cont = $linha['cont'];
}
date_default_timezone_set('America/Sao_Paulo'); // Pega a data atual do brasil
$data_sistema = date('H:i'); // Formata a data para minutos e segundos
// Defino a hora com a qual vou trabalhar
$hora = $horarioIniciar;
// Somo 5 minutos (resultado em int)
$horaNova = strtotime("$hora + $tempo minutes");
// Formato o resultado
$horarioTerminar = date("H:i",$horaNova); // O 'h' maisculo seta a data no formato 12hs e o h minisculo bo formato 24hs
// Mostro na tela
echo "Horario inicial = '$horarioIniciar' - Horario terminar = '$horarioTerminar' - Durante = '$tempo' - Hora Atual = '$data_sistema'";
if($data_sistema > $horarioIniciar && $tipo == 'agendamento' && $cont == 0 && $data_sistema < $horarioTerminar){
$sql = "INSERT INTO `horta_log`(data, log) VALUES ( NOW() + INTERVAL 45 MINUTE, 'Irrigação acionada por agendamento!')";
$exec = $pdo->exec($sql);
$sql = "UPDATE `horta` SET cont = '1' WHERE 1";
$exec = $pdo->exec($sql);
$handle = fopen("[http://casacomarduino.dlinkddns.com:1600/?acao=101](http://casacomarduino.dlinkddns.com:1600/?acao=101)", "r");
}else{
}
if($horarioTerminar < $data_sistema && $tipo == 'agendamento' && $cont == 1){
$sql = "INSERT INTO `horta_log`(data, log) VALUES ( NOW() + INTERVAL 45 MINUTE, 'Irrigação desligada por agendamento!')";
$exec = $pdo->exec($sql);
$sql = "UPDATE `horta` SET cont = '0' WHERE 1";
$exec = $pdo->exec($sql);
$handle = fopen("[http://casacomarduino.dlinkddns.com:1600/?acao=102](http://casacomarduino.dlinkddns.com:1600/?acao=102)", "r");
}else{
}
}
testeOnclick();
?>Estava utilizando em um cron job, do nada parou de funcionar, ja mandeu uma msg pra eles, disseram que é problema na programação, mas o código estava funcionando, nao tenho ideia pq parou de funcionar
O código completo só funciona no horario agendado, a parte mais importante e que nao esta funcionando é essa: $handle = fopen("http://casacomarduin...:1600/?acao=101", "r");
que deveria acessar esse link pra ligar a luz (obs: o link em sí esta funcionando, inclusive aluz aqui ligou varias vezes enquanto vc estava testando)
Hum muito estranho... não vejo nada nesse código que possa causar problema...
Depois de acessar a página, quanto tempo +- levou para aparecer o erro de timeout com o file_get_contents? E com o fopen aparece algum erro?
Como assim não está conseguindo? Acessei esse endereço, e abriu normal. Aparece alguma mensagem de erro para você?