Algun codigo php para pasar por urls

  • Autor Autor blogers
  • Fecha de inicio Fecha de inicio
B

blogers

Pi
SEO
Hola colegas ustedes conocen algun codigo donde lo pueda programar en cron

el codigo que busco o la funcion del codigo tenga que pasar por unas urls asi ahorrarme poner tantos crons si no con un solo script y que pase ese script por digamos 40 urls me ahorraria muhco tiempo.

Las urls que pasra seran asi son ejemplos nada mas x1.misitio.com/miscript.php, x2.misitio.com/miscript.php, x3.misitio.com/miscript.php

estos a su ves al pasar por esa url ejecutara (/miscript.php)

Alguien conoce algun codigi como lo que busco

De antemano gracias
 
PHP:
$url_stack = array("http://...","http://","http://"); 
foreach ($url_stack as &$url) {
 //tu codigo...
}
 
Pero como puedo darle un tiempo entre si a esas url por ejemplo que tarde10000 segunods y luego pase a la otra urs por que si pido los 40 subdominios de un jalon colapsara mysql
PHP:
$url_stack = array("http://...","http://","http://"); 
foreach ($url_stack as &$url) {
 //tu codigo...
}
 
Hola colegas ustedes conocen algun codigo donde lo pueda programar en cron

el codigo que busco o la funcion del codigo tenga que pasar por unas urls asi ahorrarme poner tantos crons si no con un solo script y que pase ese script por digamos 40 urls me ahorraria muhco tiempo.

Las urls que pasra seran asi son ejemplos nada mas x1.misitio.com/miscript.php, x2.misitio.com/miscript.php, x3.misitio.com/miscript.php

estos a su ves al pasar por esa url ejecutara (/miscript.php)

Alguien conoce algun codigi como lo que busco

De antemano gracias

Hola, en un archivo PHP puedes poner esto para que luego lo ejecute el cron:

PHP:
<?php
// Crea un nuevo recurso cURL
$ch = curl_init();

// Establece la URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Captura la URL y la envía al navegador
curl_exec($ch);

// Cierrar el recurso cURLy libera recursos del sistema
curl_close($ch);

unset($ch);

//vuelves a repetir todas las líneas anteriores cambiando únicamente la URL.
//si lo metes en un array ahorras líneas claro está
?>
 
PHP:
set_time_limit(0);
$url_stack = array("http://...","http://","http://"); 
foreach ($url_stack as &$url) {
    //tucodigo
    sleep(30);
}

Pero como puedo darle un tiempo entre si a esas url por ejemplo que tarde10000 segunods y luego pase a la otra urs por que si pido los 40 subdominios de un jalon colapsara mysql
 
Si muy buena la de CURL pero mi preocupacion que no puedo ejecutar toda las urls al mismo tiempo es decir tendria que darle un turno entre cada url es decir ar.misiot.com, luego sigue es.misitio.com luego mx.missitio.com, como le comente [MENTION=41667]User[/MENTION] si ejecuto el script en cron pero si se ejecutan las 40 urls al mismo tiempo colapsara de inmedito mysql por lo menos tendria ue darle 10000 mil segundos y luego pasar a la siguiente url y asi el cron del archivo solo lo ovya ajecutar una vez ala semana
Hola, en un archivo PHP puedes poner esto para que luego lo ejecute el cron:

PHP:
<?php
// Crea un nuevo recurso cURL
$ch = curl_init();

// Establece la URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// Captura la URL y la envía al navegador
curl_exec($ch);

// Cierrar el recurso cURLy libera recursos del sistema
curl_close($ch);

unset($ch);

//vuelves a repetir todas las líneas anteriores cambiando únicamente la URL.
//si lo metes en un array ahorras líneas claro está
?>
 
[MENTION=3092]blogers[/MENTION] .. te dí una solución a los 40 segundos en mi respuesta anterior...

PD: en donde está "30" cambia por el numero de segundos que deseas que espere...
 
Pero como los turnaria
PHP:
set_time_limit(0);
$url_stack = array("http://...","http://","http://"); 
foreach ($url_stack as &$url) {
    //tucodigo
    sleep(30);
}

es decir si pongo asi va esperar el turno entre cada url ?
PHP:
set_time_limit(0);
$url_stack = array("http://ar.misitio.com/miscript.php","http://es.misitio.com/miscript.php","http://mx.misitio.com/miscript.php"); 
foreach ($url_stack as &$url) {
    //tucodigo
    sleep(30);
}
 
Si muy buena la de CURL pero mi preocupacion que no puedo ejecutar toda las urls al mismo tiempo es decir tendria que darle un turno entre cada url es decir ar.misiot.com, luego sigue es.misitio.com luego mx.missitio.com, como le comente [MENTION=41667]User[/MENTION] si ejecuto el script en cron pero si se ejecutan las 40 urls al mismo tiempo colapsara de inmedito mysql por lo menos tendria ue darle 10000 mil segundos y luego pasar a la siguiente url y asi el cron del archivo solo lo ovya ajecutar una vez ala semana

Entonces vas a tenerte que programar algo un poco más complejo, que almacene de alguna forma la última URL que se ejecutó y vaya siguiendo un orden. Ejecutarías siempre el mismo archivo desde el cron cada 10000 segundos y el script obtendría la siguiente URL en la lista.
 
Pues eso por que si pongo un curl simple es como mandar al suicidio a mysql son 40 paises cada scrip del pais consume por lo menos de 5000 a 7000 segundos
Entonces vas a tenerte que programar algo un poco más complejo, que almacene de alguna forma la última URL que se ejecutó y vaya siguiendo un orden. Ejecutarías siempre el mismo archivo desde el cron cada 10000 segundos y el script obtendría la siguiente URL en la lista.
 
claro.. la variable "$url" va tomando el valor una por una.. luego que ejecuta tu código.. espera 30 segundos para ejecutar la siguiente url gracias a "sleep()"
Pero como los turnaria

es decir si pongo asi va esperar el turno entre cada url ?
PHP:
set_time_limit(0);
$url_stack = array("http://ar.misitio.com/miscript.php","http://es.misitio.com/miscript.php","http://mx.misitio.com/miscript.php"); 
foreach ($url_stack as &$url) {
    //tucodigo
    sleep(30);
}
 
A okei entonces espera 30 segundos en mi caso le daria 10000 a 15000 segundos quedari asi para despues turnarse ala siguiente url?

si es asi es lo que busco

set_time_limit(0);
$url_stack = array("http://ar.misitio.com/miscript.php","http://es.misitio.com/miscript.php","http://mx.misitio.com/miscript.php");
foreach ($url_stack as &$url) {
//tucodigo
sleep(10000);

claro.. la variable "$url" va tomando el valor una por una.. luego que ejecuta tu código.. espera 30 segundos para ejecutar la siguiente url gracias a "sleep()"
 
claro.... :encouragement::encouragement:
A okei entonces espera 30 segundos en mi caso le daria 10000 a 15000 segundos quedari asi para despues turnarse ala siguiente url?

si es asi es lo que busco

set_time_limit(0);
$url_stack = array("http://ar.misitio.com/miscript.php","http://es.misitio.com/miscript.php","http://mx.misitio.com/miscript.php");
foreach ($url_stack as &$url) {
//tucodigo
sleep(10000);
 
Gracias colega voy aprobarlo en xampp para windows es mi server online
claro.... :encouragement::encouragement:


---------- Post agregado el 20-abr-2014 hora: 22:09 ----------

MM lo ejecute pero no hiso nada

y luego se paro la url en el navegador http://puu.sh/8gJyX.png
claro.... :encouragement::encouragement:


---------- Post agregado el 21-abr-2014 hora: 00:30 ----------

Esto es lo unico que me funciono

pero ahora como le pongo las urls

PHP:
<?php


  $page = file_get_contents('http://mx.misitio.com/miscript.php');
  echo $page;  
sleep(120);

claro.... :encouragement::encouragement:
 
De todos modos tendrías que colocar a ese archivo php en un cron que ejecutara tu script.

Creas un archivo PHP "http://tusitio.com/cron.php"
Insertar CODE, HTML o PHP:
<?php
set_time_limit(0); //No hay limite de tiempo para la ejecucion del script
$ch = curl_init();
$array= array("http://ar.misitio.com/miscript.php","http://es.misitio.com/miscript.php","http://mx.misitio.com/miscript.php"); 

foreach ($array as &$arrays) { 
curl_setopt($ch, CURLOPT_URL, $array);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
sleep(15); //Tiempo de espera entre cada url (15 segundos)
}

Luego creas un cron en el cpanel:
Insertar CODE, HTML o PHP:
[B]wget -O /dev/null http://tusitio.com/cron.php[/B]
y lo ejecutas cuantas veces al dia quieras
?>
 
Atrás
Arriba