Uploader un fichier en PHP

[Résolu/Fermé]
Signaler
Messages postés
203
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
28 juin 2017
-
Messages postés
18
Date d'inscription
lundi 19 août 2013
Statut
Membre
Dernière intervention
9 mars 2014
-
Bonjour,

Savez-vous comment uploader un fichier en PHP ? Avec cURL ? Autre ?

En gros je veux avoir un équivalent du formulaire html mais en PHP.

Merci d'avance.

3 réponses

Messages postés
55
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
8 juin 2018

Bonjour,

Tu peux utiliser ton formulaire HTML et récupérer l'upload côté php, via un fichier que tu nommes upload.php :

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
?>

Au préalable, créer un répertoire /uploads sur ton serveur.
Ne reste qu'à envoyer ta requête HTML à upload.php.

Le fichier upload.php est à adapter à tes besoins...
Messages postés
18
Date d'inscription
lundi 19 août 2013
Statut
Membre
Dernière intervention
9 mars 2014
1
Voici un bon exemple qui explique l'upload d'un fichier EXCEL 2003:

formulaire: form.html:

<form action="form_handle.php" method="POST" enctype="multipart/formdata">
<input type ="file" name="fich" class="ipnut_20" >
<input type="submit">
</form>


form_handle.php:

<?php
$error='';
if ($_FILES['fich']['error'] > 0)
$error = "error lors du transfert du fichier";

if ($_FILES['fich']['error']==UPLOAD_ERR_INI_SIZE)
$error = "fichier dépassant la taille maximale autorisée par PHP";

if ($_FILES['fich']['error']==UPLOAD_ERR_FORM_SIZE)
$error = "fichier dépassant la taille maximale autorisée par le formulaire";

if ($_FILES['fich']['error']==UPLOAD_ERR_PARTIAL)
$error = "fichier transféré partiellement";
echo "name:".$_FILES['fich']['name'].'<br>' ; //Le nom original du fichier, comme sur le disque du visiteur (exemple : mon_fich.png).
echo "type:".$_FILES['fich']['type'].'<br>' ; //Le type du fichier. Par exemple, cela peut être « image/png ».
echo "size:".$_FILES['fich']['size'] .'<br>' ; //La taille du fichier en octets.
echo "tmp_name:".$_FILES['fich']['tmp_name'].'<br>' ; //L'adresse vers le fichier uploadé dans le répertoire temporaire.
echo "error:".$_FILES['fich']['error'].'/'.$error.'<br>' ; //Le code d'error, qui permet de savoir si le fichier a bien été uploadé.

if($_FILES['fich']['type']!='application/vnd.ms-excel')
$error="Le fichier doit etre forcément Excel(xls).";

if ($_FILES['fich']['error']==UPLOAD_ERR_NO_FILE)
$error = "fichier manquant";

echo $error;
if($error=='')
{
$resultat = move_uploaded_file($_FILES['fich']['tmp_name'],'fich.xls');
$temp = explode(".", $_FILES["fich"]["name"]);
$extension = end($temp);
if ($resultat)
{
echo '<font color="green"><center>Transfert du fichier réussi<br></font></center>';
echo '<font color="green"><center>Extension:'.$extension.'<br></font></center>';
}
}
?>
Messages postés
18
Date d'inscription
lundi 19 août 2013
Statut
Membre
Dernière intervention
9 mars 2014
1
Eufff J'ai pas bien lu votre question!!!! Déjà votre question est un peu ambigu!!!???

Vous pouvez uploader un fichier depuis un serveur A (ou s'exécute le code php ) vers un autre serveur B si tu connectais simplement en FTP vers le serveur B? (https://www.php.net/manual/fr/function.ftp-fput.php