PHP Recuperer valeur fichier input file

Résolu/Fermé
kamaster
Messages postés
4
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
6 décembre 2007
- 6 déc. 2007 à 12:43
ookahh1
Messages postés
61
Date d'inscription
lundi 11 octobre 2010
Statut
Membre
Dernière intervention
2 octobre 2013
- 29 avril 2013 à 13:21
Bonjour,

J'ai un formulaire d'upload de fichier (image) UPLOAD.PHP et un autre fichier pour confirmer CONFIRMATION.PHP

Mon problem est d'afficher sur confirmation.php le message suivant :

Votre photo " nomdelimage.jpg " a été bien uploadé !

J'essaie le code suivant :

// debut

Votre photo : <?php
if(isset($_POST['champdelaphoto']))
{
echo htmlentities($_POST['champdelaphoto']) a ete bien uploadé;
}
?>

// fin

Mais rien ne s'affiche.

AIDE SVP

8 réponses

Bonjour,

les images arrivent dans $_FILES , pas dans $_POST...
7
ça a l'ai bien sauf que dans photook.php, il faufrait faire
<?php echo $_FILES['fichier']['name'];?> .

En effet, $_FILES['fichier'] ne contient pas que le nom de ton tableau. Je colle ci-dessous un bout de la doc PHP :

$_FILES['userfile']['name']
Le nom original du fichier, tel que sur la machine du client web.
$_FILES['userfile']['type']
Le type MIME du fichier, si le navigateur a fourni cette information. Par exemple, cela pourra être "image/gif" . Ce type mime n'est cependant pas vérifié du côté de PHP et donc, ne prend pas sa valeur pour se synchroniser.
$_FILES['userfile']['size']
La taille, en octets, du fichier téléchargé.
$_FILES['userfile']['tmp_name']
Le nom temporaire du fichier qui sera chargé sur la machine serveur.
$_FILES['userfile']['error']
Le code d'erreur error code associé au téléchargement de fichier. Cet élément a été introduit en PHP 4.2.0
4
$tableau = explode ('/',$_FILES['userfile']['name']); // découpe le nom aux '/'
echo $tableau[count($tableau)-1]; // affiche le dernier
2
kamaster
Messages postés
4
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
6 décembre 2007
3
6 déc. 2007 à 14:39
Merci mon frere pour ta reponse.

Quand j'ai essayer $_FILES avec ma formule plus haut, il y a eu erreur.

Mais quand j'ai mis sa, le mot 'Array' s'affiche.

Je vosu affiche mes codes ici

// /////////////////////////// PHOTO.PHP ///////////////// LE FICHIER POUR UPLOADER

<?php
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",300000);
define("DESTINATION_FOLDER", "./mode_et_loisirs/photos");
define("no_error", "photoOK.php");
define("yes_error", "photo_erreur.php");
$_accepted_extensions_ = "gif,jpg,jpeg,png";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
/* modify */
if(!empty($HTTP_POST_FILES['fichier'])){
if(is_uploaded_file($HTTP_POST_FILES['fichier']['tmp_name']) && $HTTP_POST_FILES['fichier']['error'] == 0){
$_file_ = $HTTP_POST_FILES['fichier'];
$errStr = "";
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "File troppo pesante";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Estensione non valida";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Cartella di destinazione non valida";
}
if(empty($errStr)){
if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error);
} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Charger photo</title>
<style type="text/css">
<!--
.Style1 {
font-size: 10px;
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #FF0000;
}
-->
</style>
</head>

<body>
<form action="photoOK.php" method="post" enctype="multipart/form-data" name="photo" id="photo">
<table width="100%" border="0">
<tr>
<td colspan="3">Veuillez choisir votre photo, cliquez sur 'Charger' puis suivez les instructions.</td>
</tr>
<tr>
<td width="19%">Choisir votre photo</td>
<td width="36%"><label>
<input type="file" name="fichier" id="fichier"/>

</label></td>
<td width="45%"> </td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="submit" id="submit" value="Charger" />
</label></td>
<td> </td>
</tr>
<tr>
<td colspan="3"><p class="Style1">Seulement des fichiers aux extensions <strong>gif, jpg, jpeg et png</strong>. Taille maximu : <strong>300000 octets</strong> (3 Mo)</p></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>


///////////////////////////////////// PHOTOOK.PHP ///////////// Si tout va bien

<body>
<table width="100%" border="0">
<tr>
<td width="100%">Votre photo <?php echo $_FILES['fichier'];?> a ete chargee avec success. </td>
</tr>
<tr></tr>
</table>
</body>


MERCI POUR VOTRE AIDE
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kamaster
Messages postés
4
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
6 décembre 2007
3
6 déc. 2007 à 16:35
Merci pour cette contribution.

J'ai obtenu finalement une resolution, pratiquement satisfaisante :

-----fichier testfile.html---------
<form name="frm" method="post" action="postfile.php" enctype="multipart/form-data">
<input type="file" name="fichier" onBlur="document.frm.action='postfile.php?fic='+
this.value"><br>
<input type="submit" value="Envoyer">
</form>

-------fichier postfile.php--------
<?php echo $_GET['fic'];?>

Et ça marche, mais seulement il m'affiche le chemin+le nom du fichier.

Avez-vous une idee de comment afficher uniquement le nom sans le chemin ?

C'est mon premier passage sur le forum, mais je suis tres ravi de la bonne chaleur.

Keep doing so !
1
kamaster
Messages postés
4
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
6 décembre 2007
3
6 déc. 2007 à 18:38
Vous êtes magnifiques !!! Merci bien, j'arrive a afficher seulement le nom du fichier.

Je reviens demain avec un autre problème, et j'espère te revoir (LOL).

Une fois encore merci.
1
ookahh1
Messages postés
61
Date d'inscription
lundi 11 octobre 2010
Statut
Membre
Dernière intervention
2 octobre 2013
1
29 avril 2013 à 13:21
et dans le où c'est l'url (chemin de l'image) que l'on voudrait afficher?
0
<?php
session_name();
session_start('barney');
if (!(session_is_registered('barney')))
{
header("location:index.php");
exit();
}
?>
<html>
<heade>
<title>Administration du site: </title>
</head>
<body>
<?php
include_once "../conn/conn.php";
$ref=$_POST['ref_pro'];
$designation=$_POST['designation'];
$prixu=$_POST['prixu'];
$desc=$_POST['desc'];
$poidpro=$_POST['poidpro'];
$cat=$_POST['cat'];
$qte=$_POST['qte'];
$prixc=$_POST['prixc'];
$hauteur=$_POST['hauteur'];
$largeur=$_POST['largeur'];
$poid=$_POST['poid'];
$nb=$_POST['nb'];
$result = Execute_query("SELECT * FROM produit WHERE prod_id=$ref");
if(mysql_num_rows($result)==0){


if (($_FILES['userfile']['type'])=='image/gif' or ($_FILES['userfile']['type'])=='image/png'
or ($_FILES['userfile']['type'])=='image/jpeg'
or ($_FILES['userfile']['type'])=='image/jpg' or ($_FILES['userfile']['type'])=='image/pjpeg')
{
if (($_FILES['userfile']['size'])<=1029830)
{
$source = $_FILES['userfile']['tmp_name'];
$target = "../images/produits/".$_FILES['userfile']['name'];
$rep=$_FILES['userfile']['name'];
move_uploaded_file( $source, $target ) or die ("Impossible de faire votre upload");
$req="SELECT * FROM produit WHERE prod_id=$ref";
$result = Execute_query($req);

if(mysql_num_rows($result)==0){
$req2="INSERT INTO stoke VALUES('$ref','$qte')";
@mysql_query($req2);

$req1="INSERT INTO produit VALUES('$ref','$designation','$rep','$prixu','$desc','$poidpro','$cat')";
@mysql_query($req1);

$req3="INSERT INTO colis VALUES('$ref','$nb','$prixc','$hauteur','$largeur','$poid','$ref')";
@mysql_query($req3);
header('location:ajout_produit.php');

exit;
}
elseif (mysql_num_rows($result)==1){

echo "<script language='javascript'>\n";
echo "alert('cette réfèrence existe déjà!!!.')\n";
echo "document.location='ajout_produit.php'";
echo "</script>";
}
}
else
{
?>
<script language="javascript">
alert("La taille de l'image doit être inférieure ou égal à 1 MO");
history.back();
</script>
<?php
}
?>
<?php
}
else
{
?>
<script language="javascript">
alert("Le fichier que vous devez uploader doit être une image");
history.back();
</script>
<?php
}
exit();
}
elseif (mysql_num_rows($result)==1){
echo "<script language='javascript'>\n";
echo "alert('cette réference existe déjà.')\n";
echo "</script>";

}
?>
</body>
</html>
-1