Upload vers FTP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Upload vers FTP

par Invité » 28 juin 2006, 17:09

Merci :pouce:

par Cyrano » 28 juin 2006, 07:43

@datesta : Limité à 2Mo pour l'upload HTTP, pas pour le FTP.

@ gto55 : les fonction ftp sont effectivement désactivées chez free il me semble, vérifie dans la FAQ de free.fr, c'est indiqué.

par datesta » 28 juin 2006, 01:29

je suis pas sûr mais je crois que l'upload depuis php est limité à 2 mo chez free :)

Upload vers FTP

par gto55 » 27 juin 2006, 23:41

Bonjour,

J'essaye d'uploader de gros fichiers depuis un formulaire vers un ftp.
Voilà le script:


$time = addslashes($_POST['time']);  echo 'time: '.$time.'<br /><br />';
$categorie = addslashes($_POST['categorie']);

$queryNomCategorie = " SELECT * FROM galerie_categorie WHERE galerie_categorie.id=$categorie";
$resultNomCategorie = mysql_query($queryNomCategorie, $link);
$rowNomCategorie = mysql_fetch_array($resultNomCategorie);
echo $rowNomCategorie['nom'];


$photoTemp = $_FILES['image']["tmp_name"];
$photoClean = addslashes($_FILES['image']["name"]);
echo 'PHOTOTEMP/        '.$photoTemp .'<br />';
$dossierPreview =  'projet/images/galerie/';
$pathPreviewCategorie = $dossierPreview.$rowNomCategorie["nom"];
$date = '/'.$time;
$pathPreviewTime = $pathPreviewCategorie.$date;

$dossierPreviewImage = '/images/';
$pathPreviewImage = $pathPreviewTime.$dossierPreviewImage;
//echo $pathPreviewImage ;

// création de la connexion
$conn_id = @ftp_connect("ftpperso.free.fr");
// authentification avec nom de compte et mot de passe
$login = 'monLogin';
$mdp = 'monMotDePasse;
$login_result = @ftp_login($conn_id, $login, $mdp);
ftp_pasv($conn_id, TRUE);
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
        echo "La connexion FTP a échoué!";
//        echo "Tentative de connexion à $ftp_server avec $ftp_user_name";
        die;
    } else {
        echo "Connecté sur serveur distant<br>";
    }
// téléchargement d'un fichier
set_time_limit(210);
// if (!is_dir($pathPreviewCategorie))
@ftp_mkdir($conn_id,$pathPreviewCategorie);
// if (!is_dir($pathPreviewTime))
@ftp_mkdir($conn_id,$pathPreviewTime);
// if (!is_dir($pathPreviewImage))
@ftp_mkdir($conn_id,$pathPreviewImage);
$pathImage = $pathPreviewImage.$photoClean ;
$upload = ftp_put($conn_id ,  $pathImage ,$photoTemp   , FTP_BINARY );
// Vérification de téléchargement
if (!$upload) {
        echo "<br>Le téléchargement Ftp a échoué!";
    } else {
        echo "<br>Téléchargement de $photoClean sur serveur distant";
    }
// fermeture de la connexion FTP.
ftp_quit($conn_id);


/*
L'upload vers un ftp marche parfaitement qd le formulaire est sur un pc en local, upload de fichier de 15mo, mais dès qu'on essaye d'uploader depuis une page de formulaire hébergée par exemple par free il y a ce msg d'erreur:

Code : Tout sélectionner

Fatal error: Call to undefined function: ftp_connect() in /mnt/100/sdc/a/4/files1/files2/backoffice/galerie/ajouterGalerie.php on line 66
Est-ce qqn saurait pourquoi le script marche depuis une page en local et non sur un server?
Est-ce que les fonctions ftp sont désactivées chez free?

Merci :lol: