1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="design.css"/>
<body>
<form method="post" action="index.php" enctype="multipart/form-data">
<table align="center" border="0">
<tr>
<td>Fichier source :</td>
<input type="hidden" name="MAX_FILE_SIZE" value="999999999999999999999999999999999999999">
<td><input type="file" name="fichier_source" size="100"><td>
</tr>
<tr>
<td>Fichier destination :</td>
<td><input type="text" name="fichier_destination" size="100"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Envoyer"></td>
</tr>
</table>
</form>
<?php
?><pre><?php// print_r($_FILES)?> </pre><?php
$ftp_server = "ftp.servftp.eu";
$user = "user1";
$user_pass = "pass";
$user2 = "user2";
$user_pass2 = "pass2";
$conn_id = ftp_connect("$ftp_server");
// authentification avec user et password
$login_result = ftp_login($conn_id, "$user", "$user_pass");
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
echo "La connexion FTP a échoué!";
echo "Tentative de connexion à $ftp_server avec $user";
die;
} else {
echo "Connecté à $ftp_server, avec $user</br>";
}
if(isset ($_POST['fichier_destination'])){
if($_POST['fichier_destination'] == ''){
echo "Veuillez entrer le nom du fichier destination </br>";
}
if ($_FILES['fichier_source']['error']) {
switch ($_FILES['fichier_source']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
break;
case 3: // UPLOAD_ERR_PARTIAL
echo "L'envoi du fichier a été interrompu pendant le transfert !";
break;
case 4: // UPLOAD_ERR_NO_FILE
echo "Le fichier que vous avez envoyé a une taille nulle !";
break;
}
}
//definitions des variables
$fichier_source = $_FILES['fichier_source']['tmp_name'];
$fichier_telecharge = $_FILES['fichier_source']['name'];
$fichier_destination = $_POST['fichier_destination'];
echo "fichier source : $fichier_source </br>";
echo "fichier src basename : $fic_src </br>";
echo "fichier destination : $fichier_destination </br>";
$fp = fopen($fichier_source, 'r');
//transfert du fichier
$upload = ftp_nb_put($conn_id,$fichier_destination,$fichier_source,FTP_BINARY,0);
//$upload = ftp_nb_fput($conn_id,$fichier_source,$fp,FTP_BINARY,0);
/***********************************************************************************************************/
while ($upload == FTP_MOREDATA) {
// Establish a new connection to FTP server
if(!isset($conn_id2)) {
$conn_id2 = ftp_connect($ftp_server);
$login_result2 = ftp_login($conn_id2, $user2, $user_pass2);
}
// Retreive size of uploaded file.
if(isset($conn_id2)) {
clearstatcache(); // <- this must be included!!
$remote_file_size = ftp_size($conn_id2, $fichier_destination);
}
// Calculate upload progress
$local_file_size = filesize($fichier_source);
if (isset($remote_file_size) && $remote_file_size > 0 ){
$i = ($remote_file_size/$local_file_size)*100;
printf("%d%% uploaded<br>", $i);
//print ftell ($fp)."\n";
flush();
}
$upload = ftp_nb_continue($conn_id);
}
if ($upload != FTP_FINISHED) {
print("There was an error uploading the file...<br>");
exit(1);
}
else {
print("Done.<br>");
}
fclose($fp);
/*****************************************************************************************************************************************/
// Vérification du transfert
/*if (!$upload) {
echo "Le transfert Ftp a échoué!";
} else {
echo "Transfert de $fichier_telecharge sur $ftp_server en $fichier_destination </br>";
}*/
}else{
echo $_POST['fichier_destination'];
}
?>
<body>
</html> |
Partager