Upload PHP ok mais fichier déplacé = 0 octets

Upload PHP ok mais fichier déplacé = 0 octets - PHP - Programmation

Marsh Posté le 19-02-2008 à 02:52:26    

Bonjour,
 
Voilà j'ai une page d'upload qui se charge depuis mon formulaire html.
Dans ma page d'upload je récupère bien mes variables, l'upload marche mais le fichier (image) pèse 0 octets dans le dossier cible et donc est illisible.
J'ai copié le code ci-dessous, si ce n'est pas clair dites-moi je changerai.
Merci.

 

Citation :

<?php
 
$page = @$_GET['page'];
 
switch ($page)
{
 
 case "maison":
   
   $userfile = $_FILES['uploadedfile']['tmp_name'];
   $userfile_name = $_FILES['uploadedfile']['name'];
   $userfile_size = $_FILES['uploadedfile']['size'];
   $userfile_type = $_FILES['uploadedfile']['type'];  
   $userfile_error = $_FILES['uploadedfile']['error'];
   
   if ($userfile_error > 0)
   {  
    echo 'Problème: ';
    switch ($userfile_error)
    {
     case 1: 'File exceeded upload max_filesize'; break;
     case 2: 'File exceeded max_file size'; break;
     case 3: 'File only partially uploaded'; break;
     case 4: 'No file uploaded'; break;
    }
    echo '<br /><br /><a href="'.$page.'.php">Cliquez ici pour revenir à la page précédente></a>';
    exit;
   }
   
   if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $userfile_name) )
   {
       echo '<a href="'.$page.'.php">Cliquez ici pour revenir à la page précédente></a>';
    exit("Nom de fichier non valide" );
   }
   
   if (!getimagesize($userfile))
   {
    echo '<a href="'.$page.'.php">Cliquez ici pour revenir à la page précédente></a>';
    exit("Le fichier n'est pas une image, script interrompu." );
   }
   
   $upfile = '../images/maison/photos/'.$userfile_name;
   
       
   if (is_uploaded_file($userfile))
   {
    if (!move_uploaded_file($userfile, $upfile))
    {
     echo 'Problème: L\'image n\'a pas pu être déplacée vers le répertoire de destination.';
     echo '<a href="'.$page.'.php">Cliquez ici pour revenir à la page précédente></a>';  
     exit;
    }
   }
   else
   {
    echo 'Problème: Possible file upload attack. Filename: '.$userfile_name;
    exit;
   }
   
   echo 'Fichier envoyé avec succès !<br /><br />';
   
   $fp = fopen($upfile, 'w');
   $contents = fread ($fp, filesize ($upfile));
   fclose($fp);
   
   $contents = strip_tags($contents);
   $fp = fopen ($upfile, 'w');
   fwrite($fp, $contents);
   fclose($fp);
   
   echo 'Apreçu du contenu de l\'image envoyée : <br /><hr />';
   echo $contents;
   echo '<br /><hr />';
   echo '<a href="'.$page.'.php">Cliquez ici pour revenir à la page précédente></a>';
?>

Reply

Marsh Posté le 19-02-2008 à 02:52:26   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed