2012-06-13 22 views
7

Estoy tratando de abrir una url que notifica una tercera parte de una venta. Todo lo que tengo que hacer es abrir la url para notificar a un tercero. Normalmente, usaría una imagen o un píxel de iframe para abrir este pero no puedo permitir que el usuario lo vea.Abrir URL con PHP

¿Hay una manera fácil de hacer esto con php antes de que cargue la página?

+5

No debe rellenar una pregunta solo para que se publique. En cuanto a su pregunta, PHP tiene varias formas de hacerlo. ¿Has intentado leer el manual o buscar tutoriales sobre el uso de PHP para realizar un HTTP POST? – GordonM

+0

Edité la pregunta para eliminar el relleno superfluo. –

Respuesta

24

El método file_get_contents Ben Lee sugiere sólo funciona si está activado en allow_url_fopenphp.ini. Aunque esta configuración está habilitada de forma predeterminada, es muy (wise) sysadmins disable this flag.

En ese caso usando curl is your best option.

Como sólo está ping a la URL remota que ni siquiera necesita opciones complejas:

$ch = curl_init("http://www.example.com/"); 
curl_exec($ch); 

Aunque puede haber grano fino control sobre la solicitud y respuesta al utilizar rizo en caso de que lo necesite más adelante .

+0

Genial, gracias también, excelentes respuestas aquí, aunque no sé por qué la gente me dio puntos negativos para esta pregunta .. – Snapcaster

+0

@Snapcaster Me alegra ayudar! Su pregunta fue downvoted porque era demasiado simple (y por lo tanto demasiado corta) para los estándares SO, y probablemente se le preguntó varias veces antes aquí en SO. Los primeros dos hits de una consulta 'php open url' en google son' fopen' y 'file_get_contents' del manual de PHP, lo que resolvería su problema. En su defensa sin embargo: en base a la experiencia, mi respuesta es mejor y evita problemas inesperados en el futuro, lo que a la larga lo convierte en un mejor codificador, lo cual es bueno para todos nosotros. Sin embargo, si usas Google, probablemente hayas optado por una de las dos primeras opciones ... –

+0

+1. Curl es probablemente más eficiente también (aunque no tengo pruebas contundentes de esto en la mano). Esta debería ser la respuesta aceptada (y lo digo como la persona que publicó la respuesta actualmente más votada). –