Bonjour à tous,

J'ai un script de téléchargement d'images :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php if (isset($_FILES['avatar']['name'])) {
// traitement
$dossier = 'images/avers/';
$nom_file=$_FILES['avatar']['name'];
$fichier = basename($nom_file);
$taille_maxi = 1000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.jpg', '.jpeg' , '.JPG' , '.JPEG');
$extension = strrchr($nom_file, '.'); 
 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez télécharger un fichier de type  jpg ...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
 ...
et je voudrais remplacer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$erreur = 'Vous devez télécharger un fichier de type  jpg ...';
par une redirection. Mais ,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
header('Location: http://www.XXX.fr/Templates/vente72.php');  
exit();
conduit à une erreur car l'appel de cette fonction doit se faire avant tout envoi au navigateur (instruction echo, print, espace blanc, balise html...) sous peine de générer une erreur de type Headers already sent by....

Du coup je suis embêté ... Il y a solution pour rediriger à ce niveau là ?