Php et input type=file en methode post.
n3crotox
Messages postés
3
Statut
Membre
-
badrauno Messages postés 14 Statut Membre -
badrauno Messages postés 14 Statut Membre -
je vais surment passer pour un gland mais j'ai fais plein de tuto, relu mon bouquin mais pas moyen de trouver donc voici mon code d'essai pour l'input type=file
et voila la reponse du server :P
d'ou que j'ai merdé ?
<html>
<body>
<center>
<form ENCTYPE="multipart/form-data" method='POST' action=''>
URL de l'image:<br>
<input type='file' name='pix'><br>
<input type='hidden' name='MAX_FILE_SIZE' value='2097152'>
<br>
<input type='submit' value='go!'><br>
<br>
</form>
<?php
import_request_variables("P","V_");
if(isset($V_pix))
{
echo "//".$_FILES['pix']['name']."<br>//".
$_FILES['pix']['size']."<br>//".
$_FILES['pix']['type']."<br>//".
$_FILES['pix']['tmp_name']."<br>";
if(is_uploaded_file($_FILES["pix"]["tmp_name"]))
{
echo "fichier uploader";
}
else
{
echo "marche pas !!!!";
}
}
?>
</center>
</body>
</html>
et voila la reponse du server :P
le formulaire + //Test_oculaire.jpg //0 // //marche pas !!!!
d'ou que j'ai merdé ?
A voir également:
- Php et input type=file en methode post.
- .Dat file - Guide
- Host file - Guide
- .Bin file - Guide
- Iso file - Guide
- File ///sdcard/ - Télécharger - Gestion de fichiers
3 réponses
Rebonjour,
Je remet un post car un faute c'est glissé dans l'exemple.
remplacer:
par :
Biensur tout le code tien dan la même feuille php
@+
Je remet un post car un faute c'est glissé dans l'exemple.
remplacer:
// formulaire pour l'invitation au choix du fichier
echo '<form enctype="multipart/form-data" action="accueil.php" method="post">'
.'<input type="hidden" name="pframe" value="admin" >'
par :
// formulaire pour l'invitation au choix du fichier
echo '<form enctype="multipart/form-data" action="index.php" method="post">'
Biensur tout le code tien dan la même feuille php
@+
Brydjy
Messages postés
407
Statut
Membre
28
y en a qui ont de la chance, car je t'assure que ton code ne fonctionne absolument pas chez moi... vraiment dommage.
Djokone
il faut également fermer tes balises input comme ceci <input type="hidden" value="" name="" />
badrauno
Messages postés
14
Statut
Membre
1
non pour moi j'ai trouvé un autre code qui marche bien mais je n'arrive pas a changer le nom du fichier uploadé :)
Salut,
je n'ai pas bcp de temps pour te répondre. Mais à ce que j'ai compris, tu essais de transférer un fichier de ta machine locale vers un serveur.
Si c'es cela, tu à oublié d'utiliser la fonction
move_uploaded_file(string filename, string destination ) qui s'assure que le fichier filename est un fichier téléchargé par HTTP POST. Si le fichier est valide, il est déplacé jusqu'à destination.
Si filename n'est pas valide, rien ne se passe, et move_uploaded_file() retournera FALSE.
Or, tu passes directement à la vérification d'un transfert...qui n'a pas encore eu lieu!
Ps: Normalement, vu que la fonction est de type booléenne tu n'a plus besoin de is_uploaded_file()
Sinon le reste, je ne l'ai pas testé mais ça à l'air bon.
A+
je n'ai pas bcp de temps pour te répondre. Mais à ce que j'ai compris, tu essais de transférer un fichier de ta machine locale vers un serveur.
Si c'es cela, tu à oublié d'utiliser la fonction
move_uploaded_file(string filename, string destination ) qui s'assure que le fichier filename est un fichier téléchargé par HTTP POST. Si le fichier est valide, il est déplacé jusqu'à destination.
Si filename n'est pas valide, rien ne se passe, et move_uploaded_file() retournera FALSE.
Or, tu passes directement à la vérification d'un transfert...qui n'a pas encore eu lieu!
Ps: Normalement, vu que la fonction est de type booléenne tu n'a plus besoin de is_uploaded_file()
Sinon le reste, je ne l'ai pas testé mais ça à l'air bon.
A+
Bonjour,
je sais que je passe bien après la bataille, mais ça peu être votre élément de réponse:
je sais que je passe bien après la bataille, mais ça peu être votre élément de réponse:
// petit plus pour l'affichage du poid
function Tsize($file){
$t = filesize($file);
if (strlen($t) < 4){$m = $t.' Ot';}
else{
if (strlen($t) < 7){$a = 3; $ext = ' Ko';}
elseif (strlen($t) < 10){$a = 6; $ext = ' Mo';}
elseif (strlen($t) < 13){$a = 9; $ext = ' Go';}
$m = substr($t, 0, strlen($t) - $a).','.substr($t, strlen($t) - $a, 1).$ext;
}
return ($m);
}
//récuperer un fichier sur disk dur et le mettre dans le rep site/upload/....
// script
if ($plus == "up"){
//détermine le répertoire de destination
$repertoireDestination = 'upload/';
//détermine le nom ici: pseudo_nomdufichier.extension
$nomDestination = $nick."_".$_FILES["monfichier"]["name"];
// Pour raison de sécurité nous ajouterons aux fichiers
// portant une extension .php .php3, l'extension .txt
if (eregi(".php", $nomDestination)) {$nomDestination .= ".txt";}
//test du fichier et upload
if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
//on renome le fichier dans le repertoire et le nom desiré
if (! rename($_FILES["monfichier"]["tmp_name"],$repertoireDestination.$nomDestination)) {
echo "Le déplacement du fichier temporaire a échoué".
" vérifiez l'existence du répertoire ".$repertoireDestination;
}
}
elseif ($_FILES["monfichier"]["name"] == ""){}
else {echo "Le fichier n'a pas été uploadé (trop gros ?)";}
}
// parti pour le détruire
if ($plus == "del"){
// test du fichier
if (! $fread = @fopen('upload/'.$id,"r")){
echo 'Le fichier upload/'.$id.' est inaccessible';
}
else{
echo '<p ><b>le fichier upload/'.$id.' est détruit<br>';
$zone = @unlink('upload/'.$id);
}
}
echo $choix;
// formulaire pour l'invitation au choix du fichier
echo '<form enctype="multipart/form-data" action="accueil.php" method="post">'
.'<input type="hidden" name="pframe" value="admin" >'
.'<input type="hidden" name="choix" value="upload" >'
// 2 Mo car la config du serveur est souvant resté dans l'état
.'<input type="hidden" name="MAX_FILE_SIZE" value="2000000" >'
.'<br>'
.'Transfère le fichier <input type="file" name="monfichier" >'
.'<input type="submit" >'
.'</form><br>';
// affichage du repertoire et de sont contenu
if (! $repread = @opendir('upload/')){
echo 'Le repertoire upload/ est inaccessible';
}
else{
$i = 0;
echo '<p ><table width="100%" border="0"><tr>'
.'<td width="80%"align="left"><b>liste des fichiers présent dans '.$dsrep[$rep].'</b>'
.'<td width="15%"align="center">Date<td width="5%"align="right"></tr><tr></tr>';
while ($zone = readdir($repread))
// suppressions des fichiers systemes et linux
if ($zone != "." && $zone != ".." && substr($zone, 0, 4) != ".nfs"){
$nanorep = '<tr><td align="left">'.$zone.'</a></td>'
.'<td align="right">'.Tsize('upload/'.$zone)
.'<td align="right"><a href="index.php?choix='.$choix.'&plus=del&id='.$zone.'" title="Supprimé">supprimer<tr>';
$nanotrep[$zone] = $nanorep;
}
closedir($repread);
// trie de la table par ordre alphabetique attention un majuscule prime sur une minuscule
sort($nanotrep);
for ($i=0; $i!=count($nanotrep);$i++){
$nanovrep = $nanovrep.$nanotrep[key($nanotrep)];
next($nanotrep);
}
//Affichage web
echo $nanovrep.'</table></p>';
}