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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
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: Sun Dec 22 01:01:30 2024 UTC