ID: 8999
Updated by: andy
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Feedback
Bug Type: FTP related
Operating System: Windows
PHP Version: 4.0.4pl1
New Comment:

If it works as a CGI, I say just go back to the CGI version.

But, if you don't then answer these questions.

-Does it still happen in the latest version of PHP?
-Are there any error messages (either on the page or logs)

Previous Comments:
------------------------------------------------------------------------

[2001-01-30 07:16:07] [EMAIL PROTECTED]

Until now I was using PHP4 in CGI-Mode. Now I want to change to Apache Module. So I 
made the nessecary changes in httpd.conf and rebotted the Windows 2000 server.

Since PHP is running as an Apache Module, the function ftp_fget() doesn't work 
correctly anymore.

I read a jpg from a FTP Server and display it with the <img> tag. In Module Mode the 
file is transferred and the width and height is correct, but the content is wrong 
(wrong colors in the completely wrong places). When PHP is running in cgi mode, 
everything is correct.

Thanks for any help, Rolf.

Code Sample:

class Foto_class
{

  var $fotoname;

  function Foto_class( $verwender )
  {
    global $const_ftp_host, $const_ftp_user, $const_ftp_passwd, $const_ftp_dir;
    $select_file = "foto.jpg";
    $ftp = ftp_connect( $const_ftp_host );
    if ( $ftp )
    {
      ftp_login( $ftp, $const_ftp_user, urldecode( $const_ftp_passwd ) );
    }
    if ( $const_ftp_dir == "" )
    {
      $const_ftp_dir = FTP_DIRROOT;
    }
    $const_ftp_dir = $const_ftp_dir . FTP_DIRROOT . $verwender;
    if ( ( ! $ftp ) || ( ! @ftp_chdir( $ftp, $const_ftp_dir ) ) )
    {
      @ftp_quit( $ftp );
    }
    else
    {
      srand( ( double ) microtime() * 1000000 );
      $randval = rand();
      $tmpfile = $select_file . "." . $randval;
      $showfile = $this->filename( $tmpfile );
      $fp = fopen( $showfile, "w" );
      if ( ! @ftp_fget( $ftp, $fp, $select_file, FTP_BINARY ) )
      {
        ftp_quit( $ftp );
      }
      else
      {
        ftp_quit( $ftp );
        $this->fotoname = $showfile;
      }
      @fclose( $fp );
    }
  }

  function filename($f_name)
  {
    $dir = "./temp/sess_".session_id();
    if (!file_exists($dir)) mkdir($dir,0700);
    return $dir."/".$f_name;
  }

  function out()
  {
    return $this->fotoname;
  }

}


------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=8999&edit=1


-- 
PHP Development 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