|
Posted by Jerry Stuckle on 05/17/06 03:56
b007uk@gmail.com wrote:
> Jerry Stuckle wrote:
>
>>b007uk@gmail.com wrote:
>>
>>>RainCT wrote:
>>>
>>>
>>>>Can you copy all the code?
>>>
>>>
>>>Sure, here it is:
>>>
>>><?php
>>>session_start();
>>>$dir = session_id();
>>>
>>>if ($_REQUEST['img'])
>>>{
>>>$showfile = "./temp/$dir/".$_REQUEST['img'];
>>>
>>> if (file_exists($showfile))
>>> {
>>> header("content-type: image/jpeg");
>>> header('Content-Length: ' . filesize($showfile));
>>> header("Content-Disposition: inline; filename=$showfile");
>>> readfile($showfile);
>>> }
>>>}
>>>echo "<img src='?img=1.jpg'>";
>>>?>
>>>
>>>If i keep session_start() "Save picture as" detects image as
>>>untitled.bmp, if i delete
>>>session_start() - everythng is fine, it is detected as jpeg, but i need
>>>session_id(), so i have to start session...
>>>And, i read somewhere in this group that i should add ini_set, like
>>>this:
>>>
>>><?php
>>>ini_set('session.use_cookies', '0');
>>>ini_set('session.cache_limiter', '');
>>>ini_set('session.cache_expires', '');
>>>session_start();
>>>$dir = session_id();
>>>....
>>>
>>>When i do that the image type is detected correctly as jpeg, but the
>>>file name is not, its named as the script, showimg.jpg,
>>>filename=$showfile" is not working for some reason. But i guess its
>>>good enough, it would be nice to detect the file name as well though
>>>
>>
>>But earlier you said this really is a bmp, not a jpg.
>>
>>Just changing the name or header is not going to change the real file type. It
>>will still be a bmp. If you want to change it to a jpg, you need to convert it
>>first.
>
>
> Yes, i understand that. The picture is jpeg (echo "<img
> src='?img=1.jpg'>";), but "save picture as" only offered to save it as
> bmp, not jpeg, that was my problem/question.
>
OK, I misread your original post. I understand now.
I haven't actually tried mixing session_start() with header(); normally if I'm
using header() I don't need session_start().
Since both must be sent before anything else is output, I suspect there's a
conflict between the two. However, what should work is to use an img tag in
this file, pointing at a file containing your PHP code. In this file send your
session_start(); in the other file only send the header and image.
This works because the img tag causes another request to the server, which
requires another header.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|