php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8461 ftp_put() some files will be sent, some files won't
Submitted: 2000-12-28 12:12 UTC Modified: 2001-03-09 21:25 UTC
From: tm at daten-dienste dot com Assigned:
Status: Closed Package: FTP related
PHP Version: 4.0.4 OS: windows NT, webserver IIs
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: tm at daten-dienste dot com
New email:
PHP Version: OS:

 

 [2000-12-28 12:12 UTC] tm at daten-dienste dot com
the target is, to send all files in a specific directory to an ftp-account.
PHP-Version 4.04
Server IIs (windows NT)


the source:

//## start code ###
if($fazftpport){
	$fazftpid	= ftp_connect($fazftphost, $fazftpport);                        // <-- works !!
} else {
	$fazftpid	= ftp_connect($fazftphost);                                        // <-- works !!
}
if(!ftp_login($fazftpid, $fazftpuser, $fazftppwd)){                                     // <-- works !!
	die("Fehler beim LogIn (FTP-Server: " . $fazftphost . ")");
} else {
	 if(!ftp_chdir($fazftpid, $fazftpdir)){                                           // <-- works !!
		die("ChangeDirectory nicht erfolgreich (" . $fazftpdir . ")");
	} else {
		print "FTP-Zugang ge?ffnet und Verzeichnis gewechselt<br>";
	}
	$filecount = 1;
	$fopendir = opendir($fazausgabepfad);		// Verzeichnisbaum lesen
	if($fopendir <= 0){
		print "Start-Verzeichnis konnte nicht ge?ffnet werden<br>";
	} else {
		print "Start-Verzeichnis ge?ffnet<br>";
		while($filezwischen = readdir($fopendir)){
			if($filezwischen != "." && $filezwischen != ".."){
			print "Startdatei : " . $filezwischen . " / ";
				$zieldatei = $filezwischen;
				print "Zieldatei : " . $zieldatei . "<br>";

// Here is the problem !!!
// all files are .htm-files, so ascii is ok

				if(ftp_put($fazftpid, $zieldatei, $filezwischen, FTP_ASCII)){   

// some files will be sent !!!!!
// but most files won't
// all files are set to the same permissions

					print "Datei " . $filezwischen .  " erfolgreich ?bertragen<br>";
				} else {
			print "Fehler ! Datei " . $filezwischen .  " konnte nicht ?bertragen werden<br>";
				}
			}
		}
	
	}

}
if(!ftp_quit($fazftpid)){                     // <-- works !!
	die("Fehler beim Schlie?en des FTP-Connects (FTP-Server: " . $fazftphost . " / FTP-ID: " . $fazftpid . ")");
}
print "FTP-Zugang geschlossen<br>";
// ### end code ###

comment:
all variables are given and OK.
some files will be sent, some files won't.
we did not figure out, why files are not sent, becouse, when i copy a sendable file and try it again, the new file will not be sent.



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-01-24 04:05 UTC] sniper@php.net
Possible reasons:

1. The script timeouts. 
Solution: set_time_limit(0)

2. There is a file with same name as the target and it
has read-only permissions.

3. The local file is not readable by the user with which
the web server is running.

--Jani

 [2001-03-09 21:25 UTC] sniper@php.net
no feedback.

 [2004-04-26 11:01 UTC] ruudwinter at yahoo dot com
Thanks for the information.

BUT,

How about setting the default to 0 ?

Why is there not a warning message that the timeout has been exceded ?
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 14:01:32 2024 UTC