File "upload02.php"
Full Path: /home/analogde/www/FTP/Monsta-FTP-master/Essai FTP/upload02.php
File size: 2.93 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// Informations pour la connexion FTP
$ftp_server = "ftp.cluster011.hosting.ovh.net";
$ftp_user = "analogde";
$ftp_password = "rainbow";
$ftp_directory = "/repertoire_destination"; // Répertoire cible sur le serveur FTP
$ftp_directory = "~/www/PATRICE";
//$ftp_directory = "/www/PATRICE";
// Vérification de l'upload
if (isset($_FILES['fichier']) && $_FILES['fichier']['error'] === UPLOAD_ERR_OK) {
$fichierTmp = $_FILES['fichier']['tmp_name']; // Chemin temporaire du fichier
$nomFichier = $_FILES['fichier']['name']; // Nom d'origine du fichier
// Connexion au serveur FTP
$ftp_conn = ftp_connect($ftp_server) or die("Impossible de se connecter à $ftp_server");
$login = ftp_login($ftp_conn, $ftp_user, $ftp_password);
if (!$login) {
die("Échec de l'authentification FTP.");
}
echo " Connexion OK " ."<br>";
// Basculer vers le répertoire cible
ftp_chdir($ftp_conn, $ftp_directory);
echo "------->>>> " .ftp_pwd($ftp_conn) ."<br>";
// Vérification de l'existence du fichier
$fichierFinal = $nomFichier;
$version = 1;
while (ftp_size($ftp_conn, $fichierFinal) != -1) {
// Si le fichier existe, incrémenter la version
$extension = pathinfo($nomFichier, PATHINFO_EXTENSION);
$nomBase = pathinfo($nomFichier, PATHINFO_FILENAME);
$version++;
$fichierFinal = $nomBase . "_" . str_pad($version, 2, "0", STR_PAD_LEFT) . "." . $extension;
echo "TRACE1 " .$fichierFinal ."<br>";
}
echo "Envoie2 " .$fichierFinal ." " .$fichierTmp ."<br>";
$fp1 = createTempFileName($nomFichier);
// Envoi du fichier sur le serveur FTP
// Fp1 /tmp/map.pngNdrzNY
// Fp2 - C ~/www/Document_workarea/patrice/map.png
$fp2 = $ftp_directory . "/" . $nomFichier;
//$fp2 = $_SESSION["dir_current"] . "/" . $file_name;
echo " ++++ " .$fp1 ."<br>";
echo " ++++ " .$fp2 ."<br>";
//if (ftp_put($ftp_conn, $fichierFinal, $fichierTmp, FTP_BINARY))
//if (ftp_put($ftp_conn, $fichierFinal, $fichierTmp, FTP_BINARY))
$inputHandler = fopen('php://input', "r");
$fileHandler = fopen($fp1, "w+");
echo "Handler " .$fileHandler ."<br>";
while (FALSE !== ($buffer = fgets($inputHandler, 65536)))
{
fwrite($fileHandler, $buffer);
}
fclose($inputHandler);
fclose($fileHandler);
if( ftp_put($conn_id, $fp2, $fp1, FTP_BINARY) )
{
echo "Fichier uploadé avec succès sous le nom : $fichierFinal";
} else {
echo "Erreur lors de l'upload du fichier.";
}
// Fermeture de la connexion FTP
ftp_close($ftp_conn);
} else {
echo "Aucun fichier n'a été envoyé ou une erreur s'est produite.";
}
function createTempFileName($file_name)
{
global $serverTmp;
if ($serverTmp == "")
$serverTmp = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir();
return tempnam($serverTmp, $file_name);
}
?>