Rechercher : dans
Par :

Charger un fichier sur serveur via page php

Dernière réponse le 23 fév 2009 à 20:12:13 a.finot, le 16 fév 2009 à 16:47:15 
 Signaler ce message aux modérateurs

Bonjour,
Voilà, je souhaiterai savoir s'il est possible de télécharger un fichier sur un serveur ftp via une page php.
Plus précisemment, j'ai une base de données MySQL avec plusieurs tables de plusieurs champs et dont certains contiennent des noms de fichiers pour des photos.
J'ai un site composé de pages php qui fait appel à cette base de données et qui affiche les photos en question.
Là, je suis en train de créer une page pour pourvoir ajouter un enregistrement à une table sans passer par php MyAdmin... jusque là, pas de problème ! Sauf que maintenant, je ne sais pas comment faire pour télécharger le fichier au bon endroit sur le serveur ftp sans passer par un logiciel ftp...
Si quelqu'un a la solution, je suis preneuse !!!
Merci d'avance

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Charger un fichier sur serveur via page php » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Installation d'un serveur Web sous Linux (Apache, PHP et MySQL) VoirIntroduction Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs (les clients) des pages web stockées sur le disque. Cette fiche pratique explique comment installer le serveur web Apache sur un système de type...

1

sonik21, le 16 fév 2009 à 16:53:54

Un script d'upload ?

<form action="#" method="POST" enctype="multipart/form-data">
<input type="hidden" name="sent">
<input type="file" name="file">
<input type="submit" value="Envoyer">
</form>

<?php
$ext_ok = array('png', 'jpg', 'jpeg', 'gif', 'txt', 'mp3');    //liste des formats acceptés

if( isset($_POST['sent']) ){
     if( filesize($_FILES['file']['tmp_name']) < 262144 ){   // 262144  = taille maximal (en octects)
	     if( in_array( substr(strrchr($_FILES['file']['name'], '.'), 1), $ext_ok ) ){
?>

<?php

$name = $_FILES['file']['name'];  //nom du fichier
$size = $_FILES['file']['size'];  //taille du fichier
$tmp = $_FILES['file']['tmp_name'];  //url du fichier temporaire
$type = $_FILES['file']['type'];  //type du fichier
$error = $_FILES['file']['error'];  //erreur
$ext = substr(strrchr($name, '.'), 1);  //extension du fichier

echo "Fichier : $name<br>";
echo "Taille : $size octets<br>";
echo "Tmp : $tmp<br>";
echo "Type : $type<br>";
echo "Erreur : $error<br>";
echo "Extension : $ext<br>";

$to = "./fichiers/".$name;     // fichiers = répertoire d'envoi du fichier
move_uploaded_file($tmp, $to);    //on copie le fichier

?>

<?php
         }
		 else{
		 echo "Extension non autorisée";
		 }
     }
	 else{
	 echo "Votre fichier ne doit pas faire plus de 250 Ko";
	 }
}
else{
}
?>

JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

2

a.finot, le 23 fév 2009 à 11:49:14

Bjr,

Merci pour ta réponse sonik. Désolée d'avoir mis autant de temps à te répondre mais il fallait que je règle certains problèmes de mise en ligne avec mon hébergeur de M..... pour faire des tests.
Alors, j'ai essayé d'appliquer ton script mais ça ne fonctionnne pas. Voici le bout de mon code concerné :

<div id="envoiefichier">
<p>Télécharger une photo sur le serveur :</p>
<form action="sup_souples.php" method="post" enctype="multipart/form-data" id="fichier">
<input type="hidden" name="sent" id="sent" />
<input name="file" type="file" id="file" size="60" />
<input type="submit" name="envoyer2" id="envoyer2" value="Envoyer" />
</form>
</div>
<?php
$ext_ok = array('png', 'jpg', 'jpeg', 'gif'); //liste des formats acceptés

if( isset($_POST['sent']) ){
if( filesize($_FILES['file']['tmp_name']) < 262144 ){ // 262144 = taille maximal (en octects)
if( in_array( substr(strrchr($_FILES['file']['name'], '.'), 1), $ext_ok ) ){
?>

<?php

$name = $_FILES['file']['name']; //nom du fichier
$size = $_FILES['file']['size']; //taille du fichier
$tmp = $_FILES['file']['tmp_name']; //url du fichier temporaire
$type = $_FILES['file']['type']; //type du fichier
$error = $_FILES['file']['error']; //erreur
$ext = substr(strrchr($name, '.'), 1); //extension du fichier

echo "Fichier : $name<br>";
echo "Taille : $size octets<br>";
echo "Tmp : $tmp<br>";
echo "Type : $type<br>";
echo "Erreur : $error<br>";
echo "Extension : $ext<br>";

$to = "www/images/photos_supports_ok/souples".$name; // fichiers = répertoire d'envoi du fichier
move_uploaded_file($tmp, $to); //on copie le fichier

?>

<?php
}
else{
echo "Extension non autorisée";
}
}
else{
echo "Votre fichier ne doit pas faire plus de 250 Ko";
}
}
else{
}
?>
Est-ce que quelqu'un a la soluce ?
Merci d'avance

Répondre à a.finot

3

 sonik21, le 23 fév 2009 à 20:12:13

Il ne faut pas mettre l'adresse absolue du dossier d'envoi :

$to = "www/images/photos_supports_ok/souples".$name; 


si ton fichier d'upload se trouve dans www, tu met juste
./images/photos_supports_ok/souples".$name;
JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21
Collection CommentÇaMarche.net