Foros del Web » Programando para Internet » PHP »

activar directiva fopen para URLs en PHP

Estas en el tema de activar directiva fopen para URLs en PHP en el foro de PHP en Foros del Web. Buenas, no tengo mucha experiencia en PHP y estoy integrando un servicio web (dribbble.com) en una página. El caso es que en local me funciona ...
  #1 (permalink)  
Antiguo 17/05/2011, 23:10
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 18 años, 1 mes
Puntos: 3
activar directiva fopen para URLs en PHP

Buenas,

no tengo mucha experiencia en PHP y estoy integrando un servicio web (dribbble.com) en una página. El caso es que en local me funciona perfectamente, pero cuando lo subo al server encuentro que tiene un problema con la directiva fopen. Concretamente el "famoso" error es el siguiente:


Código PHP:
Warningfile_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

Warning
file_get_contents(http://api.dribbble.com//players/simplebits) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

WarningInvalid argument supplied for foreach() in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 33 

Warning
file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

Warning
file_get_contents(http://api.dribbble.com//players//draftees?page=1&per_page=3) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

WarningInvalid argument supplied for foreach() in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 33 

Notice
Undefined propertyPlayer::$players in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/player.php on line 79 

Warning
file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

Warning
file_get_contents(http://api.dribbble.com//players//following?page=1&per_page=10) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

WarningInvalid argument supplied for foreach() in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 33 

Notice
Undefined propertyPlayer::$players in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/player.php on line 69 

Warning
file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

Warning
file_get_contents(http://api.dribbble.com//players//shots?page=1&per_page=4) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 32 

WarningInvalid argument supplied for foreach() in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/base.php on line 33 

Notice
Undefined propertyPlayer::$shots in /homepages/27/d229005224/htdocs/test-mobile/mock-hd-f3-test/php/src/player.php on line 49 
Bien, después de mirar por el foro se habla de la posibilidad de utilizar fosockets para solucionar este problema, pero no tengo experiencia suficiente para implementarlo. Así que por favor, me gustaría saber si podría alguien decirme cómo hacerlo por ejemplo en este caso:

Código PHP:
<?php 

if (preg_match("/base\.php$/"$_SERVER['PHP_SELF'])){ 
    exit(
'No direct script access allowed'); 


/** 
 * Dribbble base API class 
 * 
 * @author Martin Bean <[email protected]
 **/ 
class Base 

    
/** 
     * Dribbble API base URL 
     * 
     * @var string 
     **/ 
    
var $baseUrl "http://api.dribbble.com/"
     
    
/** 
     * undocumented function 
     * 
     * @return void 
     **/ 
    
public function get($url$options=array()) 
    { 
        
$url $this->baseUrl $url
        if (!empty(
$options)) { 
            
$url.= "?" http_build_query($options); 
        } 
        
$result json_decode(file_get_contents($url)); 
        foreach (
$result as $key => $value) { 
            
$this->{$key} = $value
        } 
        return 
$this
    } 
     
    
/** 
     * undocumented function 
     * 
     * @param string $url 
     * @param array  $options 
     * @return string 
     **/ 
    
public function paginated_list($object
    { 
        return 
$object
    } 
}
Agradecería muchísimo cualquier tipo de ayuda.

Muchas gracias!

NOTA: He probado crear un archivo php.ini en cada una de las carpetas donde tengo archivos php como me indicaron desde mi hosting, pero no he conseguido que funcione. Podríais decirme si es correcto esto? Usar el flag de fopen en on ahí. De ser así, podríais poner un ejemplo concreto de su sintaxis, por si fuera que no creara bien el archivo?

NOTA2: Pido disculpas de antemano por si resulta reiterativa esta pregunta, pero no encuentro solución y me es urgente solucionar este asunto.
  #2 (permalink)  
Antiguo 17/05/2011, 23:18
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 5 meses
Puntos: 641
Respuesta: activar directiva fopen para URLs en PHP

para activar url fopen hay que tener acceso al php.ini, y dudo que en tu server te dejen hacer eso, habla con ellos y pideles que lo activen, si no quieren, siempre se puede usar CURL
  #3 (permalink)  
Antiguo 18/05/2011, 00:45
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 18 años, 1 mes
Puntos: 3
Respuesta: activar directiva fopen para URLs en PHP

Me podrías poner un ejemplo de cURL con el código que adjuntaba antes, por favor?

Desde mi hosting me dicen que no pueden realizar esta operación por motivos de seguridad, así que necesito otra solución y me urge mucho.

Mils disculpas por mi falta de conocimientos de programación y php en especial!

Y muchas gracias!
  #4 (permalink)  
Antiguo 18/05/2011, 01:07
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 5 meses
Puntos: 641
Respuesta: activar directiva fopen para URLs en PHP

te dejo un link con ejemplos

http://www.forosdelweb.com/f18/aport...equest-724214/
  #5 (permalink)  
Antiguo 26/05/2011, 10:32
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 18 años, 1 mes
Puntos: 3
Respuesta: activar directiva fopen para URLs en PHP

No consigo solucionarlo, desde mi hosting me dicen que creando un archivo php.ini por carpeta donde existan archivos que necesiten recursos concretos funciona. El caso es que no consigo crear una estructura correcta de este archivo, yo creo. Porque no consigo hacerlo funcionar.

Alguien puede poner un ejemplo habilitando fopen?
  #6 (permalink)  
Antiguo 26/05/2011, 11:48
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 18 años, 1 mes
Puntos: 3
Respuesta: activar directiva fopen para URLs en PHP

Solucionado. Era realmente sencillo, simplemente poniendo en cada carpeta un php.ini donde tengamos archivos .php y listo.

En mi caso solo necesitaba activar la directiva fopen. Así que la sintaxis era tan simple como esta:
[PHP]
Código PHP:
allow_url_fopen On 
Espero que le sirva a alguien! ;)

Etiquetas: directiva, fopen, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:43.