Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/10/2007, 20h06   #1
Membre du Club
 
Avatar de will97
 
Inscription : mars 2007
Messages : 126
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : mars 2007
Messages : 126
Points : 47
Points : 47
Par défaut [Upload] Récupérer le nom d'un fichier uploadé

Bonjour,
j'ai fait un tour dans les F.A.Q. mais j'ai pas trouver grand chose.

donc l'utilisateur evoie un fichier par un form.
le fichier s'enregistre alor dans le dossier swf/. Jusque la c'est bon.
mais j'ai aussi une BD MySQL willisite -> flash, cette table contient plusieur champs dont "swf" ou le nom du fichier devrait s'enregistrer (pas le fichier lui meme seulement le nom avec l'ext.) mais lorsque je fais
Code :
$file = basename($fichier);
Ca renvoie un resultat nul.

bon bref je vous donne le script du formulaire et upload.php:
le formulaire:
Code :
1
2
3
4
5
6
7
8
9
10
<h3>Beta Upload</h3>
<form action='upload.php' method='post'
enctype='multipart/form-data'>
File:<input type='file' name='file' id='file' /> <br>
Title:<input type='text' name='title' /><br>
Desc:<input type='text' name='desc' /><br>
<input type='radio' name='type' value=0 />Movie<br>
<input type='radio' name='type' value=1 />Game<br>
<input type='submit' name='submit' value='Upload' />
</form>
upload.php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
include("config.php");
$stock = 'swf/';
$filename = basename($_FILES['file']);
echo $filename;
if (move_uploaded_file($_FILES['file']['tmp_name'], $stock.$_FILES['file']['name']))
{
	$con = mysql_connect(************************,****,*****);
	if (!$con)
	{
		die('MySQL: '.mysql_error());
	}
	mysql_select_db("willisite", $con);
	$sql = "INSERT INTO flash (title, swf, desc, type) VALUES ('".$_POST['title']."', '".$filename."', '".$_POST['desc']."', ".$_POST['type'].")";
    if (!mysql_query($sql,$con))
	{
		die('MySQL: '.mysql_error());
	}
	echo "Upload of file ".$_FILES['userfile']['name']." completed";
}
mysql_close($con);
?>
merci
will97 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2007, 21h01   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Pour le nom du fichier tel que l'utilisateur l'a saisi, tu l'as dans cette variable:

Code :
$_FILES['file']['name']
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2007, 21h20   #3
Membre du Club
 
Avatar de will97
 
Inscription : mars 2007
Messages : 126
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : mars 2007
Messages : 126
Points : 47
Points : 47
Merci ca marche mais maintenant j'ai un prob de MySQL :
Code :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc, type) VALUES ('Goomba World TEST', 'goombaworld.swf', 'This is for testing' at line 1
Mais pourtant je ne voie pas d'erreur dans cette ligne
Code :
$sql = "INSERT INTO flash (title, swf, desc, type) VALUES ('".$_POST['title']."', '".$filename."', '".$_POST['desc']."', ".$_POST['type'].")";
will97 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2007, 22h14   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
"desc" est peut-être un mots-clé SQL réservé.
pour le protéger mets le caractère "`" (touche "7") comme ça :
Code :
$sql = "INSERT INTO flash (title, swf, `desc`, type) VALUES ...)";
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2007, 01h59   #5
Membre du Club
 
Avatar de will97
 
Inscription : mars 2007
Messages : 126
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : mars 2007
Messages : 126
Points : 47
Points : 47
Merci a tous
J'ai seulement changer "desc" pour "descri" et tout marche a merveille.

J'adore cliquer sur le bouton resolut
will97 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h19.


 
 
 
 
Partenaires

Hébergement Web