Sorry, I know this is for the wrong group - I just started here as the major
part of this app is related to a data base - this is just the fancy stuff at
the front. I have been able to get the screen to redraw by putting a
variable in the url that when set causes a <meta> tag to be sent with a
refresh option - it is ugly as it causes the screen to draw then immediatly
redraw. I have tried all combinations of header()'s but I am missing something.

Thanks,

Malcolm


view.php

<?
   //every expire header under the sun
   header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
   header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
   header("Cache-Control: no-store, no-cache, must-revalidate");
   header("Cache-Control: post-check=0, pre-check=0", false);
   header("Pragma: no-cache");


   //so far this is the only refresh that works as it forces the page to
   //expire and reload itself - causes ugly screen redraw
   if(isset($reload))
     echo "<meta HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=./view.phtml?pic=$pic\">";

   //file containing various global variables
   include('./pview.inc');

   //build the complete path to the picture file
   $pic_file = $base_dir . $pic_dir_name . "/" . $pic;

   //rotate function - calls jpegtran to do the work
   function rotate($pic, $thu, $ro, $name){
      $temp_file = "/tmp/temp_pic";

      if($ro == "CCW")
         $rot = 270;
      else
         $rot = 90;

      exec("./jpegtran -rot $rot $pic> $temp_file");
      unlink($pic);
      copy($temp_file, $pic);
      unlink($temp_file);
      exec("./jpegtran -rot $rot $thu > $temp_file");
      unlink($thu);
      copy($temp_file, $thu);
      unlink($temp_file);
   }

   //if rotate variable is set then call rotate()
   if(isset($ro)){
      $thu_file = $base_dir . $thumb_dir_name . "/" 
                  . $thumbnail_prefix . strtolower($pic);
      rotate($pic_file, $thu_file, $ro, $pic);

      //another attempted screen refresh. forces the meta tag
      header("Location: ./view.phtml?pic=$pic&reload=true");
   }

   //Script to set the image size according to browser size
   echo "<script>
         function draw_image(width, height){
            if(navigator.appName == 'Netscape' && document.layers != null){
               wid = window.innerWidth;
               hit = window.innerHeight;
            }
            if(document.all != null){
               wid = document.body.clientWidth;
               hit = document.body.clientHeight;
            }
      
            wFactor = wid / width;
            hFactor = hit / height;
      
            if(wFactor < hFactor)
               fact = wFactor;
            else
               fact = hFactor;
       
            fact = fact * 0.75;

            nwid = width * fact;
            nhit = height * fact;

            document.images[0].height = Math.round(nhit);
            document.images[0].width = Math.round(nwid);
         } 
         </script>";
   

   //get info abou the file for display
   list($width, $height) = GetImageSize($pic_file);
   $size = floor(filesize($pic_file) / 1024);

   //build the screen
   echo "<i><b>Image</b></i> - " . $pic;
   echo "<hr>";
   echo "<center>";
   echo "<img src=$pic_file onload='draw_image(". $width . ", " . $height .
")'>";
   echo "<br><font size=-1><i>(Image Details: width - " . $width
         . ", height - " . $height
         . ", size - " . $size . "k) </i></font>";

   //user options to rotate or return to the index page
   echo "<p>
         <a href=$PHP_SELF?pic=$pic&ro=CCW>[Rotate CCW]</a>&nbsp
         <a href=./index.phtml?ref=true>[HOME]</a>&nbsp
         <a href=$PHP_SELF?pic=$pic&ro=CW>[Rotate CW]</a></p>";
   echo "</center>";
   echo "<hr>";

   //a bit of self promotion
   echo "<i><font size=-1><b>Picture Viewer</b>
         - Developed by Whitehouse Productions 2001</font></i>";

?>
>X-POP3-Rcpt: mwhite@guru
>Return-Path: <[EMAIL PROTECTED]>
>From: "Jon Farmer" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>, "Malcolm White" <[EMAIL PROTECTED]>
>References: <[EMAIL PROTECTED]>
>Subject: Re: [PHP-DB] Image Sizes
>Date: Sun, 9 Dec 2001 08:43:39 -0000
>X-MSMail-Priority: Normal
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2479.0006
>
>> I slved it with a javascript function - now I can't get the page refresh
>to
>> work properly - I have implimented the ability to rotate the images but
>> although the image i rotated it's contents aren't. I have used all maner
>of
>> header()'s to try and solve it but it only works when I physically hit the
>> refresh button on the browser.
>
>OK well can you show us the code? As you dont give much to go on. BTW you
>are posting to the wrong list you should use the PHP-General list as this
>list is for database issues.
>
>--
>Jon Farmer
>Systems Programmer, Entanet www.enta.net
>Tel 01952 428969 Mob 07763 620378
>PGP Key available, send email with subject: Send PGP Key
>
>
>
>
---------------------------------------
|       WHITEHOUSE PRODUCTIONS        |
|          Malcolm White              |
---------------------------------------
| ph:      +61 2 9798 4645            |
| fax:     +61 2 9716 6097            |
| mob:     +61 414 860 742            |     
| mob fax: +61 414 860 745            |
| email:   [EMAIL PROTECTED]          |
| web:     www.whitehouseprod.com.au  |
---------------------------------------


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to