par
phpdog » 21 nov. 2005, 23:44
Bonjour à tous
Je voudrai ajouter une redirection a la fin de l'upload mais je n'arrive pas a la placer correctement:
<?php
if(isset($_FILES['photo'])){
//
// Paramètres globaux
//
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max_photo = 500000;
$taille_max_logo = 100000;
$dest_dossier = '*';
//
// Vérifications pour le logo
//
// Extension :
if( !in_array( strtolower(substr(strrchr($_FILES['logo']['name'], '.'), 1), $extensions_ok )) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
// Taille max :
elseif( file_exists($_FILES['logo']['tmp_name'])
and filesize($_FILES['logo']['tmp_name']) > $taille_max_logo)
{
$erreur = 'Votre fichier doit faire moins de '.$taille_max_logo.' octets !';
}
elseif(file_exists($_FILES['logo']['tmp_name'])){
// Définition de la longueur et de la largeur max
$longueur_logo_max = "80";
$largeur_logo_max = "80";
$size_logo = getimagesize($_FILES['logo']['tmp_name']);
if(($size_logo[0] > $largeur_logo_max) || ($size_logo[1] > $longueur_logo_max)){
$erreur .= 'Les dimensions du logo sont trop grandes !';
$erreur .= 'Taille de votre photo : '.$size_logo[1].'x'.$size_logo[0].'<br />';
$erreur .= 'Taille maximale autorisée :'.$longueur_logo_max.'x'.$largeur_logo_max.'<br />';
}
}
//
// Fin des vérifications
//
//
// Copie des fichiers
//
if(!isset($erreur))
{
//
// Copie de la photo.
//
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
//
// Copie du logo.
//
$dest_fichier = basename($_FILES['logo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['logo']['tmp_name'], $dest_dossier . $dest_fichier);
// On redirige vers le fichier suivant:
echo "<script type='text/javascript'>window.location.replace('index.php');</script>";
}
}
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend>Uploader vos images</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="logo">Uploader votre logo : </label><input type="file" name="logo" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
Quelqu'un pourait m'aider ?
Bonjour à tous :wink:
Je voudrai ajouter une redirection a la fin de l'upload mais je n'arrive pas a la placer correctement:
[php]<?php
if(isset($_FILES['photo'])){
//
// Paramètres globaux
//
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max_photo = 500000;
$taille_max_logo = 100000;
$dest_dossier = '*';
//
// Vérifications pour le logo
//
// Extension :
if( !in_array( strtolower(substr(strrchr($_FILES['logo']['name'], '.'), 1), $extensions_ok )) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
// Taille max :
elseif( file_exists($_FILES['logo']['tmp_name'])
and filesize($_FILES['logo']['tmp_name']) > $taille_max_logo)
{
$erreur = 'Votre fichier doit faire moins de '.$taille_max_logo.' octets !';
}
elseif(file_exists($_FILES['logo']['tmp_name'])){
// Définition de la longueur et de la largeur max
$longueur_logo_max = "80";
$largeur_logo_max = "80";
$size_logo = getimagesize($_FILES['logo']['tmp_name']);
if(($size_logo[0] > $largeur_logo_max) || ($size_logo[1] > $longueur_logo_max)){
$erreur .= 'Les dimensions du logo sont trop grandes !';
$erreur .= 'Taille de votre photo : '.$size_logo[1].'x'.$size_logo[0].'<br />';
$erreur .= 'Taille maximale autorisée :'.$longueur_logo_max.'x'.$largeur_logo_max.'<br />';
}
}
//
// Fin des vérifications
//
//
// Copie des fichiers
//
if(!isset($erreur))
{
//
// Copie de la photo.
//
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
//
// Copie du logo.
//
$dest_fichier = basename($_FILES['logo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['logo']['tmp_name'], $dest_dossier . $dest_fichier);
// On redirige vers le fichier suivant:
echo "<script type='text/javascript'>window.location.replace('index.php');</script>";
}
}
?>
<html>
<body>
<!-- Erreur ? -->
<?php
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend>Uploader vos images</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="logo">Uploader votre logo : </label><input type="file" name="logo" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>[/php]
Quelqu'un pourait m'aider ?