B
blogers
Pi
SEO
$url_stack = array("http://...","http://","http://");
foreach ($url_stack as &$url) {
//tu codigo...
}
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
<?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á
?>
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
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); }
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.
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); }
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()"
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.... :encouragement::encouragement:
claro.... :encouragement::encouragement:
<?php
$page = file_get_contents('http://mx.misitio.com/miscript.php');
echo $page;
sleep(120);
claro.... :encouragement::encouragement:
<?php
$URL = array('http://url1.com','http://url2.com');
foreach($URL as $U){
$page = file_get_contents($U);
echo $page;
sleep(120);
}
?>
PHP:<?php $URL = array('http://url1.com','http://url2.com'); foreach($URL as $U){ $page = file_get_contents($U); echo $page; sleep(120); } ?>
El foreach ayuda a que sea por turno ?
claro es un array y cuando termina uno va el otro y asi... el que le da el tiempo entre uno y otro es el sleep
<?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)
}
[B]wget -O /dev/null http://tusitio.com/cron.php[/B]
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?