Si vous avez déjà les noms de fichiers pour vérifier, utiliser filemtime
Renvoie le temps le fichier a été modifié pour la dernière, en cas d'échec. L'heure est renvoyée sous la forme d'un horodatage Unix, qui convient à la fonction date().
Pour comparer aujourd'hui, vous pouvez utiliser date('Y-m-d')
pour obtenir aujourd'hui comparer à date('Y-m-d', filemtime($filename))
Pour obtenir les noms de fichiers, vous pouvez utiliser readdir pour lire chacun à son tour.
<?php
if ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
while (false !== ($filename = readdir($handle))) {
echo "$filename\n";
}
closedir($handle);
}
?>
Le manuel a également un FTP example qui devrait vous montrer comment ftp le fichier une fois trouvé.
Ainsi, en combinant tout cela, vous pourriez obtenir quelque chose comme:
<?php
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}
if ($handle = opendir('/path/to/files')) {
while (false !== ($filename = readdir($handle))) {
if (date('Y-m-d') == date('Y-m-d', filemtime($filename))) {
// upload the file
$upload = ftp_put($conn_id, $destination_file, $filename, FTP_BINARY);
// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}
}
}
closedir($handle);
// close the FTP stream
ftp_close($conn_id);
?>
Bien sûr, vous devrez remplir les valeurs fictives, selon le cas.
Clause de non-responsabilité: J'ai tapé ceci dans le bloc-notes ++ et il n'a pas été testé pour des erreurs!
Je pense que j'ai mal interprété votre question. Si oui, voir la réponse de haim. http://stackoverflow.com/questions/3396685/ftping-only-todays-files-only/3396742#3396742 –