#41056 [Opn->Bgs]: FTP function converts text file into Windows Text file always in ASCII mode.

From: Date: Wed, 11 Apr 2007 18:31:23 +0000
Subject: #41056 [Opn->Bgs]: FTP function converts text file into Windows Text file always in ASCII mode.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-111371@lists.php.net to get a copy of this message
ID: 41056 Updated by: tony2001@php.net Reported By: daniel at supercomm dot com -Status: Open +Status: Bogus Bug Type: FTP related Operating System: Linux PHP Version: 5.2.1 New Comment: FTP functions do not change any data. Previous Comments: ------------------------------------------------------------------------ [2007-04-11 18:19:43] daniel at supercomm dot com Description: ------------ FTP function converts text file into Windows Text file always while in ASCII mode. ftp_fput() uploads a file assuming a Linux to Windows upload always. when used in the opposite direction an extra 0x0D character is inserted because the 0x0A character is always replaced with 0x0D+0x0A. Reproduce code: --------------- <?php // usage: php test.php filename.txt username password server // filename.txt must have crlf at the end of every line. $conn_id = ftp_connect($argv[4]); if ( @ftp_login($conn_id, $argv[2], $argv[3]) ) { $fhand = fopen($argv[1], 'rb'); if ( $fhand ) { ftp_delete($conn_id, $argv[1]); $ftpmode = FTP_BINARY; // automatic ftp mode selection // Bug #39583 FTP function always transfers in binary mode // Bug FTP function converts text file into Windows Text file always while in ASCII mode. if ( eregi(".txt$",$argv[1]) ) $ftpmode = FTP_ASCII; // try to upload $file if (ftp_fput($conn_id, $argv[1], $fhand, $ftpmode, 0)) { echo "Successfully uploaded file\n"; } else echo "Found an error\n"; } } ?> Expected result: ---------------- filename.txt at server repository... In: CRLF Out: CRCRLF In: LF Out: CRLF Actual result: -------------- none ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41056&edit=1

« previous php.bugs (#111371) next »