Estoy utilizando la libreria FPDF para la generación de archivos PDF en PHP. Esta biblioteca está trabajando bien con texto sin formato (. i.e los archivos PDF están generando para cualquier texto), pero esto me está dando un error de FPDF error: Missing or incorrect image file:{MY_FILE_PATH} al intentar agregar una imagen a mi página PDF. Acceder a ese archivo ruta de acceso a través del navegador, a continuación, la imagen correspondiente aparece bien.

Mi código es:

requieren('fpdf.php'); 

$pdf = new FPDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial', 'B', 16); 
$pdf->Write(10, 'imagen'); 
$ruta_acceso_imagen = MY_FILE_PATH; //Esta variable contiene mi ruta de acceso del archivo 
$pdf->Imagen($ruta_acceso_imagen, 10, 10, 350, 450); 
$pdf->Output(); 

Este código funciona perfectamente en mi localhost y la generación de los correspondientes archivos PDF, incluso con las imágenes también, pero esto no está funcionando después de mudarse a el servidor.

He intentado con estas posibilidades:

  1. Con rutas absolutas y relativas para la imagen.

  2. Intentado con un local de la imagen se coloca en la misma carpeta.

  3. Todos los formatos de imagen como jpg, png y gif también.

  4. Comprueba los permisos de la imagen y de carpetas correspondientes también.

Ninguno de estos casos están trabajando para mí, pegado con este problema, alguien me puede ayudar a slove este problema.

Gracias!

Siva …

  • Puedes mostrar un ejemplo de ruta de acceso que usted está utilizando?
  • usted puede tomar el camino de la desicomments.com/user/2008/03/7139/good.jpg como un ejemplo. Podemos utilizar rutas relativas como ‘/test.jpg’ también con FPDF?
  • Pekka, gracias por tu respuesta, tienes la razón de este problema y fijo que uno.
InformationsquelleAutor Siva | 2010-07-05

2 Comentarios

  1. 4

    Después de una larga lucha por fin he encontrado la razón para este problema que ya he discutido aquí.

    Principalmente a este problema es debido a la «allow_url_fopen» establecimiento que no está habilitada para mi servidor, he resuelto este problema mediante el uso de la CURVATURA. Estoy dando el paso a paso el procedimiento para resolver este problema, ya que puede útil para alguien como yo, para evitar desperdicio de tiempo(para encontrar la solución).

    1. Crear un archivo temporal en el sistema local con permiso de escritura. 
    
    Ex: $fp = @fopen($local_file_path, 'x'); 
    fclose($fp); 
    
    2. Obtener la ubicación remota de archivos de contenido, utilizando CURL y escribir en el archivo local 
    que es creado en el paso anterior. 
    
    Ex: $curl = new CurlWrapper($remote_file_path); 
    $curl->copyToFile($local_file_path); 
    
    3. Ahora enviar este local de la ruta de acceso del archivo a FPDF función(imagen), a continuación, la correspondiente 
    PDF conseguirá generar el archivo sin ningún problema. 
    
    

    Creo que este es un método para resolver este problema, si alguien sabe de algunas otras maneras, a continuación, usted puede publicar aquí, así que esta pregunta puede ser útil para alguien.

  2. 1

    acaba de agregar:

    allow_url_fopen = ON

    en php.ini (crear nuevo si no existe) resuelve el problema.

    http://www.solo-technology.com/blog/2010/04/07/quick-fix-for-url-file-access-is-disabled-issues/

    • Pero abrir un mundo de posibles problemas de seguridad en el proceso de…
    • esto nos lleva a una amenaza de seguridad en el proceso de fijación de un tema como el de Nickhar dijo, así que me sentí es mejor para resolver esto de una manera diferente(Ej: uso de CURL).
    • Por qué la baja de votos? Yo estaría de acuerdo que allow_url_include es mejor dejarlo fuera. Pero, ¿qué es esta amenaza para la seguridad de allow_url_fopen? PHP incluso el incumplimiento a.

Dejar respuesta

Please enter your comment!
Please enter your name here