RE: base64 encoded images and printing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



yes i could print the images. maybe it's a cache issue (had that happen
before). let me do some experimenting here.

________________________________

From: Kevin Smith [mailto:kevin@xxxxxxxxxxxxxxx] 
Sent: Tuesday, March 06, 2007 10:01 AM
To: Bill Bolte
Cc: php-windows@xxxxxxxxxxxxx
Subject: Re:  base64 encoded images and printing


This site uses the same method as I previously detailed.  Can you try a
print preview and tell me if you can see the images.... Please ignore
the fact that a print preview of this page looks bloody awful!

http://www.roh.nhs.uk/view_article.php?article_id=30

Bill Bolte wrote: 

	It's behind a login, so I can't give you a url at the moment.
I'll check on the filesize and see what I'm getting...

________________________________

	From: Kevin Smith [mailto:kevin@xxxxxxxxxxxxxxx] 
	Sent: Tuesday, March 06, 2007 9:23 AM
	To: Bill Bolte
	Cc: php-windows@xxxxxxxxxxxxx
	Subject: Re:  base64 encoded images and printing
	
	
	Can you provide a URL so I can see if I can print it from my
browsers?  Can you confirm that filesize is definitely producing a
result?
	
	Bill Bolte wrote: 

		I've put this on my fetch.php
		<?php
		header('Content-Type: image/gif');
		header('Content-Transfer-Encoding: binary');
		header('Content-Length: '.
filesize('image/'.$_GET['id']));
		readfile('image/'.$_GET['id']);
		unlink('image/'.$_GET['id']); 
		?>
		I can see the image but can't print it. Am I doing the
filesize
		correctly?
		
		
		-----Original Message-----
		From: Kevin Smith [mailto:kevin@xxxxxxxxxxxxxxx] 
		Sent: Monday, March 05, 2007 4:40 PM
		To: Bill Bolte
		Cc: php-windows@xxxxxxxxxxxxx
		Subject: Re:  base64 encoded images and
printing
		
		Hi Bill,
		
		This is what I've used for the last 4 years or so and
works in every
		browser that I've come across, obviously the data is
being called from a
		database instead.
		
		<?php
		//snippet
		    $query = "select bin_data, file_type from
content_images where
		image_id=".$_GET['id'];
		    $result = mysql_query($query);
		
		    $line = mysql_fetch_array($result) ;
		    $data = $line[0];
		    $file_type = $line[1];
		
		    header("Content-Type: $file_type");
		    header('Content-Transfer-Encoding: binary');
		    header('Content-Length: '. strlen($data));
		    print($data);
		?>
		<img src="foobar.php?id=12345" />
		
		The important thing here is the headers
"Content-Transfer-Encoding" and
		"Content-Length", which is why IE6 does not work, as
without these the
		browser gets all upset that it doesn't know the true
size of the image
		not the proper encoding of the file, this obviously
being an image.  
		It's good practice to put these headers in anyway.
		
		Hope this helps.
		
		Regards,
		Kevin Smith
		
		Bill Bolte wrote:
		  

			Update, I have it working in IE7 but not IE6. I
can view it in both 
			IE6-7, but it only prints in IE7. here's what
I'm doing...
			
			<?php
			//snippet
			$outputfile = $shipid.'.gif';
			$ifp = fopen('tmp/'.$outputfile, "wb");
fwrite($ifp, 
			base64_decode($image)); fclose($ifp); echo '<img

			src="fetch.php?id='.$outputfile.'" />'; ?>
			
			fetch.php is thus, read file and delete:
			
			<?php
			//snippet
			header('Content-Type: image/gif');
			readfile('image/'.$_GET['id']);
			unlink('image/'.$_GET['id']);
			?>
			
			anyone have any other ideas to try?
			__________________
			
			-----Original Message-----
			From: Bill Bolte [mailto:billb@xxxxxxxxxxxxxxxx]
			Sent: Monday, March 05, 2007 9:29 AM
			To: php-windows@xxxxxxxxxxxxx
			Subject:  base64 encoded images and
printing
			
			in a nutshell, i'm displaying a base64 encoded
image (that is being 
			parsed from a remote xml file) in the browser
doing a simple header
			output:
			
			<?php
			header('Content-Length: '.$length);
			header('Content-Type: image/gif');
			echo base64_decode($image);
			?>
			
			it will print fine with Firefox but nothing in
IE (just a box with an 
			x in the corner). didn't realize that IE
wouldn't print these. am i 
			stuck with having to save the image to the
server for IE to be able to
			    

		
		  

			print it? i didn't really want to have to save
these images out as 
			they are temporary.
			 
			Bill
			
			--
			PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit:
			http://www.php.net/unsub.php
			
			  
			    

		
		  


[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux