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 :
Ma question est donc : "Est-il possible d'upload un fichier sur un data-serveur en passant par le protocole HTTP ?"$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"
Et si oui que fais-je de mal?








Répondre avec citation



Partager