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
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
A voir également:
- Input file php
- Host file - Guide
- .Bin file - Guide
- .Dat file - Guide
- Easy php - Télécharger - Divers Web & Internet
- Swf file player - Télécharger - Lecture
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
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
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
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
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
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 !
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 !
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
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.
Je reviens demain avec un autre problème, et j'espère te revoir (LOL).
Une fois encore merci.
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
29 avril 2013 à 13:21
et dans le où c'est l'url (chemin de l'image) que l'on voudrait afficher?
<?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>