Upload Image

Eléphant du PHP | 206 Messages

17 oct. 2005, 15:58

Encore moi mais pour un autre pb :) (j'ai trouver l'erreur pour l'autre)

Je souhaite uploder une image dans un repértoire de mon serveur (je suis en local pour le moment)

Et donc je n'ai aucun message d'erreur et l'image ne s'enregistre pas dans la bdd
<?

include('connection.inc.php');

	$image_name = strtolower($image_name);
	$image_name = strtr($image_name," ","_");
	$image_name = strtr($image_name,"à","a");
	$image_name = strtr($image_name,"é","e");
	$image_name = strtr($image_name,"è","e");
	$image_name = strtr($image_name,"ù","u");
	$image_name = strtr($image_name,"ç","c");
	$image_name = strtr($image_name,"â","a");
	$image_name = strtr($image_name,"ä","a");
	$image_name = strtr($image_name,"ê","e");
	$image_name = strtr($image_name,"ë","e");
	$image_name = strtr($image_name,"î","i");
	$image_name = strtr($image_name,"ï","i");
	$image_name = strtr($image_name,"ô","o");
	$image_name = strtr($image_name,"ö","o");
	$image_name = strtr($image_name,"û","u");
	$image_name = strtr($image_name,"ü","u");

if (is_uploaded_file($image))
	{
		move_uploaded_file($image, "img/$image_name");
	}
	else
	{
		print "Veuillez recommencer, le téléchargement a échoué";
	}

$query = "INSERT INTO anomalies(id_anom,nom,date,anomalies,desc_anom,image,annee) VALUES ('','".$_POST['nom']."','".$_POST['date']."','".$_POST['anomalies']."','".$_POST['desc_anom']."','".$_POST['image_name']."','".$_POST['annee']."')"; 
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());


header('location: anomalies2.php');
?>

Eléphanteau du PHP | 13 Messages

17 oct. 2005, 17:47

Il y a toutes sortes de condition à faire :
<?php
$contenu = '';
$filename = 'filename';
if (isset($_FILES[$filename]))
{
	$repertoireDestination = './files/';
	$nomDestination = $_FILES[$filename]['name'];
	if (is_uploaded_file($_FILES[$filename]['tmp_name']))
	{
		if (!is_file($repertoireDestination.$nomDestination))
		{
			if (rename($_FILES[$filename]['tmp_name'], $repertoireDestination.$nomDestination))
			{
				$contenu .= '<p>Le fichier a correctement été uploadé.</p>';
			}
			else
			{
				$contenu .= '<h3>Erreur</h3><p>Le déplacement du fichier temporaire a échoué.</p><hr />';
			}
		}
		else
		{
			$contenu .= '<h3>Erreur</h3><p>Un fichier du même nom existe déjà.</p><hr />';
		}
	}
	else
	{
		$contenu .= '<h3>Erreur</h3><p>Le fichier n\'a pas été uploadé.</p><hr />';
	}
}
else
{
	$contenu .= '<form method="post" enctype="multipart/form-data" action="?">
		<div>
			<label for="fichier">Fichier : <input type="file" name="'.$filename.'" id="fichier" /></label><br />
			<span class="label"><input type="submit" value="Envoyer" /></span>
		</div>
	</form>';
}
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
	<head>
		<title>Upload de fichiers</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
	</head>
	<body>
		'.$contenu.'
	</body>
</html>';
?>
Après, à toi d'analyser et d'adapter ce code à tes besoins.
-={ Nyro Xeo }=-

Eléphanteau du PHP | 13 Messages

18 oct. 2005, 00:52

Pense a controler le format...

Imagine que qq1 envoi un .php