Rechercher : dans
Par :

PHP Recuperer valeur fichier input file

Dernière réponse le 2 avr 2008 à 13:44:38 kamaster, le 6 déc 2007 à 12:43:21 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.11

Meilleures réponses pour « PHP Recuperer valeur fichier input file » 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...
[Word] Récupérer un fichier impossible à ouvrir VoirCertains gros fichiers contenant des images généralement, se mettent parfois de façon "irrationnelle" à faire bloquer Word lorsqu'on veut les modifier. Pour les récupérer, il existe une méthode non-garantie : Ouvrir le fichier et l'enregistrer...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

le père, le 6 déc 2007 à 14:08:11

Bonjour,

les images arrivent dans $_FILES , pas dans $_POST...

Répondre à le père

2

kamaster, le 6 déc 2007 à 14:39:52

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

Répondre à kamaster

3

le père, le 6 déc 2007 à 14:58:15

ç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

Répondre à le père

4

kamaster, le 6 déc 2007 à 16:35:08

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 !

Répondre à kamaster

5

le père, le 6 déc 2007 à 16:53:40

$tableau = explode ('/',$_FILES['userfile']['name']); // découpe le nom aux '/'
echo $tableau[count($tableau)-1]; // affiche le dernier

Répondre à le père

6

kamaster, le 6 déc 2007 à 18:38:09

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.

Répondre à kamaster

7

 ILHAM MAROC, le 2 avr 2008 à 13:44:38

<?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>

Répondre à ILHAM MAROC