PHP Recuperer valeur fichier input file
Résolu
kamaster
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
ookahh1 Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
ookahh1 Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Input file php
- .Bin file - Guide
- Host file - Guide
- .Dat file - Guide
- Iso file - Guide
- File sdcard/dcim - Télécharger - Gestion de fichiers
8 réponses
ç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
<?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
$tableau = explode ('/',$_FILES['userfile']['name']); // découpe le nom aux '/'
echo $tableau[count($tableau)-1]; // affiche le dernier
echo $tableau[count($tableau)-1]; // affiche le dernier
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 !
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 !
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.
Je reviens demain avec un autre problème, et j'espère te revoir (LOL).
Une fois encore merci.
<?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>
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>