Doom67
-
Compteur de contenus
3 -
Inscrit(e) le
-
Dernière visite
Messages postés par Doom67
-
-
Bonjour, j'ai mis en place un script d'upload d'image, le code de ce script est mit dans un ficher, Dans un autre fichier, je veux y afficher le contenu pour qu'on puisse uploader les images. Seulement il faut que je l'affiche 3 fois dans ma page pour pouvoir mettre 3 articles à jours en changeant les images à chaque fois, le problème c'est que lorsque je veux le mettre 2 fois j'ai ce code d'erreur:
Fatal error: Cannot redeclare get_extension() (previously declared in /homepages/45/d237713167/htdocs/blue/admin/index.php:87) in /homepages/45/d237713167/htdocs/blue/admin/index.php on line 247
Je ne sais pas du tout comment faire pour appeler la fonction get_extension plusieurs fois....
Voici le contenu du fichier ou j'ai mis le script:
<?php
/**
* Script d'upload d'image PHP
* http://damienalexandre.fr/
* Novembre 2007 - v1.3
* http://damienalexandre.fr/Upload-d-image-en-PHP.html
*/
get_extension($nom) {
$nom = explode(".", $nom);
$nb = count($nom);
return strtolower($nom[$nb-1]);
}
// --------------------- Options diverses //
// Extensions images autorisé (pour le moment, que du jpeg)
$extensions_ok = array('jpg', 'jpeg');
// MimeType autorisé
/* 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (Ordre des octets Intel), 8 = TIFF (Ordre des octets Motorola), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF */
$typeimages_ok = array(2);
$taille_ko = 1024; // Taille en kilo octect (ko)
$taille_max = $taille_ko*1024; // En octects
$dest_dossier = 'img/'; // Creez ce dossier et chmoodez le !
print_r($_FILES['photo']);
if(isset($_FILES['photo'])) // Formulaire envoyé
{
// Les erreurs que PHP renvoi
if($_FILES['photo']['error'] !== "0") {
switch ($_FILES['photo']['error']) {
case 1:
$erreurs[] = "Votre image doit faire moins de $taille_ko Ko !";
break;
case 2:
$erreurs[] = "Votre image doit faire moins de $taille_ko Ko !";
break;
case 3:
$erreurs[] = "L'image n'a été que partiellement téléchargé.";
break;
case 4:
$erreurs[] = "Aucun fichier n'a été téléchargé.";
break; // Pas de 5, ne pas demander pourquoi (voir doc PHP)
case 6:
$erreur[] = "Un dossier temporaire est manquant.";
break;
case 7:
$erreurs[] = "Ãchec de l'écriture du fichier sur le disque.";
break;
}
}
// getimagesize arrive à traiter le fichier ?
if(!$getimagesize = getimagesize($_FILES['photo']['tmp_name'])) {
$erreurs[] = "Le fichier n'est pas une image valide.";
}
// on vérifie le type de l'image
if( (!in_array( get_extension($_FILES['photo']['name']), $extensions_ok ))
or (!in_array($getimagesize[2], $typeimages_ok )))
{
foreach($extensions_ok as $text) { $extensions_string .= $text.', '; }
$erreurs[] = 'Veuillez sélectionner un fichier de type '.substr($extensions_string, 0, -2).' !';
}
// on vérifie le poids de l'image
if( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreurs[] = "Votre fichier doit faire moins de $taille_ko Ko !";
}
// copie du fichier si aucune erreur !
if(!isset($erreurs) or empty($erreurs))
{
$dest_fichier = basename($_FILES['photo']['name']);
$dest_fichier = strtr($dest_fichier, 'ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃà áâãÀåçÚéêëìÃîïðòóÎõöùúûÌÜÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// un chtit regex pour remplacer tous ce qui n'est ni chiffre ni lettre par "_"
$dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
// pour ne pas ecraser un fichier existant
while(file_exists($dest_dossier . $dest_fichier)) {
$dest_fichier = rand().$dest_fichier;
}
function redimage($img_src,$dst_w,$dst_h) {
// Lit les dimensions de l'image
$size = GetImageSize($img_src);
$src_w = $size[0]; $src_h = $size[1];
// Teste les dimensions tenant dans la zone
$test_h = round(($dst_w / $src_w) * $src_h);
$test_w = round(($dst_h / $src_h) * $src_w);
// Si Height final non précisé (0)
if(!$dst_h) $dst_h = $test_h;
// Sinon si Width final non précisé (0)
elseif(!$dst_w) $dst_w = $test_w;
// Sinon teste quel redimensionnement tient dans la zone
elseif($test_h>$dst_h) $dst_w = $test_w;
else $dst_h = $test_h;
// Affiche les dimensions optimales
echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
// copie du fichier
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier)) {
$valid[] = "Image uploadé avec succés (<a href='".$dest_dossier . $dest_fichier."'>Voir</a>)";
} else {
$erreurs[] = "Impossible d'uploader le fichier.<br />Veuillez vérifier que le dossier ".$dest_dossier." existe avec un chmod 755 (ou 777).";
}
}
}
?>
<form method="POST" action="" enctype="multipart/form-data">
<?php
if(!empty($erreurs)) {
echo '<ul class="erreur">';
foreach($erreurs as $erreur) {
echo '<li>'.$erreur.'</li>';
}
echo '</ul>';
}
if(!empty($valid)) {
echo '<ul class="validation">';
foreach($valid as $text) {
echo '<li>'.$text.'</li>';
}
echo '</ul>';
}
?>
<fieldset>
<legend>Envoi d'image</legend>
<p>
<label for="photo">Image : </label>
<input type="file" name="photo" id="photo" />
</p>
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $taille_max; ?>" />
<input type="submit" name="envoi" value="Envoyer l'image" />
</p>
</fieldset>
</form>Voici le contenu du fichier ou je veux faire apparaître le script 3 fois:
<!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>test</title>
<meta name="keywords" content="blue, marble, design, theme, web, free templates, website templates, CSS, HTML" />
<meta name="description" content="Blue Marble Theme is a free website template provided by templatemo.com" />
<link href="templatemo_style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="nivo-slider.css" type="text/css" media="screen" />
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/jquery.nivo.slider.js" type="text/javascript"></script>
</head>
<body>
<div id="templatemo_header_wrapper">
<div id="templatemo_header">
<div id="site_title">
<a href="http://www.templatemo.com"><span>YOUR TAGLINE GOES HERE</span></a>
</div> <!-- end of site_title -->
<div id="social_box">
<a href="http://www.facebook.com/profile.php?id=1261530221" target="_blank"><img src="images/facebook.png" alt="facebook" /></a><p>
<h5>Rejoignez-nous</h5>
</div>
<div id="templatemo_menu">
<ul>
<li><a href="index.html" class="current">Accueil</a></li>
<li><a href="about.html">Acc?/a></li>
<li><a href="gallery.html">Photos</a></li>
<li><a href="gallery.html">Lostra</a></li>
<li><a href="gallery.html">Le Cara?</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</div> <!-- end of templatemo_menu -->
</div> <!-- end of header -->
</div> <!-- end of header wrapper -->
<div id="templatemo_main_wrapper">
<div id="templatemo_main">
<div id="templatemo_content">
<h2>Mise à jour du site</h2>
<div class="cleaner h40"></div>
<div id="contact_form">
<img src="images/edition1.gif" alt="Moussier Tombola" />
<form method="POST" action="add.php">
<input type="text" name="titre" size="20" value="titre du site" maxlength="70"> <br><textarea name="url" size="20" value="url du site" maxlength="255"></textarea><br>
<input type="submit" value="Envoyer" name="envoyer">
</form>
[color="#006400"][size="5"][b]Ici je veux mettre le script[/b][/size][/color]
<img src="images/edition2.gif" alt="Moussier Tombola" />
<form method="POST" action="add2.php">
<input type="text" name="titre" cols="200" value="titre du site" maxlength="70"> <textarea name="url" cols="200" value="url du site" maxlength="255"></textarea><br>
<input type="submit" value="Envoyer" name="envoyer">
</form>
<br />
[color="#006400"][size="5"][b]Ici je veux mettre le script[/b][/size][/color]
<img src="images/edition3.gif" alt="Moussier Tombola" />
<form method="POST" action="add3.php">
<input type="text" name="titre" size="20" value="titre du site" maxlength="70"> <textarea name="url" size="20" value="url du site" maxlength="255"></textarea><br>
<input type="submit" value="Envoyer" name="envoyer">
</form>
[color="#006400"][size="5"][b]Ici je veux mettre le script[/b][/size][/color]
<img src="images/edition4.gif" alt="Moussier Tombola" />
<form method="POST" action="playlistupdate.php">
<textarea name="url" size="20" value="url du site" maxlength="1000"></textarea><br>
<input type="submit" value="Envoyer" name="envoyer">
</form>
</div> <!-- end of content -->
</div>
<div id="templatemo_sidebar">
<div class="sidebar_box">
<h4>Recent comments</h4>
<div class="recent_comment_box">
NE PAS OUBLIER DE CLIQUER SUR VALIDER LORSQUE LE CHAMP TEXTE EST REMPLIT!!!!
</div>
</div>
</div>
<div class="cleaner"></div>
</div> <!-- end of main -->
</div> <!-- end of main wrapper -->
<div id="templatemo_footer_wrapper">
<div id="templatemo_footer">
<div class="cleaner"></div>
</div> <!-- end of templatemo_footer -->
</div> <!-- end of templatemo_footer wrapper -->
</body>
</html>Merci à tout le monde pour votre aide qui me sera très precieuse.
-
Bonjour je m'appel jean-renaud, j'ai 24 ans, j'habite en alsace, je suis passionné de musique et d'informatique.
Appeler plusieurs fois une fonction
dans PHP
Posté
Bonsoir Leonick, j'ai déjà essayé mais cela ne marche pas...