dsl c'est encore moi.

formulaire avec upload de photo, je me suis largement
basé sur un tuto du site, j'ai fait la base...
et ça marche pas.
le but est de placé la photo dans un dossier précis et de
mettre seulement le chemin dans la base.

Q1: je suis en local, si je test l'upload est ce que ça joue ?

Q2: y a-t-il une boulette dans mon schmilblik?

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
28
29
30
31
32
 
if(isset($_FILES['photo']))
{
  // params
  unset($erreur);
  $extensions_ok = array('bmp', 'gif', 'jpg', 'jpeg');
  $taille_max = 25000;
  $dest_dossier = 'C:/.../photo/';
  // vérifications
  if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
  {
    $erreur = 'Pour votre photo veuillez sélectionner un fichier de type bmp, gif ou jpg !';  
  }
  elseif( file_exists($_FILES['photo']['tmp_name']) 
          and filesize($_FILES['photo']['tmp_name']) > $taille_max)
  {
    $erreur = 'Votre fichier doit faire moins de 25Ko !';
  }
  // copie du fichier
  if(!isset($erreur))
  {
    $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-9]+)/i', '_', $dest_fichier);
    // copie du fichier
    move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
    chmod($dest_fichier, 0755);
  }
}
dans le même script j'ai un UPDATE
en bdd qui marche bien avant ça et un header après qui
fonctionne aussi.