Problem avc les boutons

caporay Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
 caporay - 13 mai 2008 à 11:27
Bonjour,
je sais créer un bouton "parcourir" dans une page web mais je ne sais pas l'utilisé. Est ce que quelqu'un sait comment pourais-je l'utiliser pour que les visiteurs de mon site puissent insérer leurs photos,?
pour plus d'info, je dirai que je sais manipuler les bases de données phpmy.
aidez moi svp

4 réponses

letoine Messages postés 1384 Date d'inscription   Statut Membre Dernière intervention   319
 
Regarde ce tuto :
https://openclassrooms.com/fr/courses


Simple et complet !


1
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
bjr

Ton titre est sans rapport avec ta question ! Renomme le pour " de fichiers en php" par ex

Je dois avoir un script quelque part qui fait ça faudrait que je cherche. Sinon tu dois avoir des tutoriaux sur le net.
MySQL ne te servira pas à grand chose sauf si tu désires y stocker la liste des fichiers téléchargés
1
caporay Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   3
 
ok je cherche un script sur le net. Mais ton script ne sera pas de trop pour moi. je l'attend
merci
0
PhP Messages postés 1770 Date d'inscription   Statut Membre Dernière intervention   606
 
Voici le code

Le formulaire qui envoie les fichiers : _form.php

<html>
<head>
<title> de fichiers</title>
<style>
*
{
	font-family : arial;
	font-size : 12pt;
}		
</style>
<script language="JavaScript">
<!--
//-->
</script>
</head>
<body>
Sélectionnez les fichiers à envoyer<br />
<form action="_exec.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<table>
<tr><td><input type="file" name="files[]" /></td></tr>
<tr><td><input type="file" name="files[]" /></td></tr>
<tr><td><input type="file" name="files[]" /></td></tr>
<tr><td><input type="file" name="files[]" /></td></tr>
<tr><td><input type="submit" value="Envoyer" /></td></tr>
</table>
</form>
</body>
</html>


La page PHP qui traite les fichiers reçus : _exec.php

Penser à bien paramètrer
// Répertoire physique sur le serveur : créer éventuellement les sous-répertoire si nécessaire
$_path = $_SERVER['DOCUMENT_ROOT']."/";
// Url correspondant à l'emplacement phyisque des fichiers reçus
$_url = "http://".$_SERVER["HTTP_HOST"]."/";
// Les extensions autorisées
$_extensions = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
// La taille maxi autorisée en octets
$_maxsize = 1024*1024;


<html>
<head>
<title> de fichiers</title>
<style>
*
{
	font-family : arial;
	font-size : 12pt;
}		
</style>
<script language="JavaScript">
<!--
//-->
</script>
</head>
<body>
Fichiers reçus sur le serveur<br />

<table border="1">
<tr>
<td>URL du fichier sur le serveur</td>
<td>Fichier reçu</td>
<td>Taille</td>
<td>Status</td>
</tr>

<?php
$_path = $_SERVER['DOCUMENT_ROOT']."/";
$_url = "http://".$_SERVER["HTTP_HOST"]."/";

$_extensions = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
$_maxsize = 1024*1024; 


function get_pathinfo($path)
{
	$tbl=pathinfo($path);
	if (!isset($tbl["filename"])) $tbl["filename"] = basename($tbl["basename"],".".$tbl["extension"]);
	return $tbl;
}	

function _check_extension($file)
{
	global $_extensions;
	$fileinfo = get_pathinfo($file);
	return in_array(strtolower($fileinfo["extension"]),$_extensions);
}

function _check_size($filesize)
{
	global $_maxsize;
	return ($filesize <= $_maxsize);
}


foreach ($_FILES["files"]["error"] as $key => $error) 
{
    $tmp_name = $_FILES["files"]["tmp_name"][$key];
    $name = $_FILES["files"]["name"][$key];
	$msg = "Ok";
	$url = "";
	$newname = $name;
	$size = $_FILES["files"]["size"][$key];

    if ($error == _ERR_OK) 
	{
		if (!_check_extension($name))
		{
			$msg="Erreur : extension non valide";
		}
		else
		{
			if (!_check_size($size))
			{
				$msg="Erreur : taille trop importante";
			}
			else
			{		
				if (!move_ed_file($tmp_name, $_path.$newname)) 
				{
					$msg="Erreur : fichier bien reçu mais impossible à déplacer vers sa destination finale";
				}
				else
				{
					$url = $_url.$newname;
				}	
			}
		}
	}	
	else
	{	
		$msg = "Erreur lors du transfert : ".$error;
	}	
	
	if ($tmp_name)
	{
		printf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>',
			($url) ? "<a href=\"".$url."\" target=\"_blank\">".$url."</a>" : "",
			$name,
			$size,
			$msg);		
	}		
}
?> 
</table>
</body>
</html>


Améliorations à apporter : modifier le nom des fichiers reçus pour éviter les doublons !
0
caporay
 
merci pour le script.et pour ton aide.
j'essais le script et te dirais comment je le trouve.

bonne journée!
0