How to change content type in php?

51,367

Solution 1

header('Content-Type: image/jpeg');

Make sure to call the header() function before doing any output or you will get a "Headers already sent" error.

Solution 2

Sounds like the image was generated by some kind of server-side script. If it was generated by a PHP script that you have access to, just include a call to header(), like this:

header('Content-Type: image/jpeg');

Make sure to call header() before outputting anything—even a blank line or stray space that was accidentally output will cause header() to fail (usually it's best if you put your call to header() at the beginning of the script).

If you don't have access to the script that generated the image, then you're out of luck, I think.

Share:
51,367

Related videos on Youtube

miken32
Author by

miken32

Programmer since (in a manner of speaking) 1988, systems and network administrator, open source contributor, old guy. He/him.

Updated on October 03, 2020

Comments

  • miken32
    miken32 over 3 years

    I have an image, but it keep doesn't display. I check the image properties (right-click and chose properties), and the I found the "type" is text/html not JPEG image. Is this because the type that cause my images dont show up?? How to change the "Type" value? I am using php...

    I display the image in a simple html [img] tag...

    EDIT:

    Yeah, i tried.. If i include the

    <?php header('Content-Type:image/jpeg'); ?>
    

    It display the URL, very weird huh??

    I am using apache, the image is generated by php code...

    <img src="<?php echo bloginfo('template_url'); ?>/thumb.php?src=<?php echo get_post_meta($post->ID, "image", $single = true); ?>&amp;h=195&amp;w=540&amp;zc=1&amp;q=95" alt="<?php the_title(); ?>
    
    • mathStudent001
      mathStudent001 almost 15 years
      You don't mention which webserver you are using. Also, is the image you are displaying a normal file on the webserver, or is it a generated image, also using PHP? Is it only this one image that doesn't work, or does it happen for all images hosted on this server?
    • Lennart Koopmann
      Lennart Koopmann almost 15 years
      Call the image URL directly with your browser and see if you get an error. If your browser reports that the image is broken, there is an error in your image generation code but the header() is fine. I am pretty sure that your content type is correctly set now. The error is probably somewhere else.
    • Admin
      Admin almost 15 years
      I test it locally, using wamp, its wordpress thing...
    • miken32
      miken32 over 3 years
      Does this answer your question? change mime type of output in php