IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

move_uploaded_file() sur un serveur distant [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 49
    Par défaut move_uploaded_file() sur un serveur distant
    Bonjour à tous,

    Dans un de mes formulaires j'upload deux types de fichiers différents via move_uploaded_file().
    Pour les images, qui sont stockées sur le serveur web, pas de soucis, tout fonctionne correctement.
    Par contre, pour les autres fichiers, qui sont stockés sur un data-serveur externe, on m'indique que le chemin n'est pas le bon. Il faut préciser que ce data-serveur est sur le même réseau que le serveur web, mais n'est pas un serveur web (un serveur de données classique).

    J'ai eu beau essayer toutes les syntaxes possibles pour le chemin du data-serveur rien n'y fait.

    Voici mon code:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    $tailleMaxLogi = 2 * 1024 * 1024;
    $extensionsLogi = array('.exe', '.bat', '.msi', '.msc', '.rar', '.zip', '.7z', '.gz');
    $cheminLogi = "//mon-domaine.fr/racine/Groupe/Bibliothèques/Informatique/Logithèque/Logiciels/";
     
    		if((isset($_FILES["ifLog_url1"])) && (!empty($_FILES["ifLog_url1"])))
    		{
    			$fichier1 = basename($_FILES["ifLog_url1"]["name"]);
    			$taille1 = filesize($_FILES["ifLog_url1"]["tmp_name"]);
    			$extension1 = strrchr($_FILES["ifLog_url1"]["name"], '.');
    			if(!in_array($extension1, $extensionsLogi))
    			{
    				 $erreur = 'Vous devez uploader un fichier de type exe, bat, msi, msc, rar, zip, 7z, ou gz';
    			}
    			if($taille1>$tailleMaxLogi)
    			{
    				 $erreur = 'Le fichier est trop volumineux';
    			}
    			if(!isset($erreur))
    			{
    				 $fichier1 = retirerAccents($fichier1);
    				 $fichier1 = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier1);			
    				if(move_uploaded_file($_FILES["ifLog_url1"]["tmp_name"], $cheminLogi.$fichier1))
    				{ echo "Upload du fichier 1 effectué avec succès<br />"; }
    				else { echo "Échec de l'upload du fichier 1<br />"; }			
    			}
    		}

    Les différents messages d'erreur obtenus en fonctions du chemin :

    $cheminLogi = "//mon-domaine.fr/racine/Groupe/Bibliothèques/Informatique/";
    "error = failed to open stream: Permission denied"

    $cheminLogi = "file://mon-domaine.fr/racine/Groupe/Bibliothèques/Informatique/Logithèque/Logiciels/";
    "error = remote host file access not supported"

    $cheminLogi = "http://mon-domaine.fr/racine/Groupe/Bibliothèques/Informatique/Logithèque/Logiciels/";
    "error = failed to open stream: HTTP wrapper does not support writeable connections"
    Ma question est donc : "Est-il possible d'upload un fichier sur un data-serveur en passant par le protocole HTTP ?"

    Et si oui que fais-je de mal?

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Il n'est pas possible en PHP de déplacer des fichiers vers un serveur distant de cette façon. Tu dois utiliser un protocole comme FTP avec l'extension appropriée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Librairie] [TELNET] Faire du telnet en PHP sur un serveur distant
    Par kaboume dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 10/06/2010, 15h24
  2. Réponses: 3
    Dernier message: 21/10/2005, 10h54
  3. [Librairies] Exécution d'un .JAR sur un serveur distant via PHP
    Par kaboume dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 09/10/2005, 15h54
  4. mise à jour d'une BDD locale sur un serveur distant
    Par jive dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 22/08/2005, 22h26
  5. sauvegarde sur un serveur distant
    Par nic_moq dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/06/2004, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo