[PHP] Envoi des fichiers avec espaces...

J'ai fait un site en php ou l'utilisateur envoi des fichiers!

le problème c'est que si il envoi des fichiers contenant des espaces ça ne marchent plus !

ex: image.jpg MARCHE :)
image 1.jpg NE MARCHE PAS :(

CODE
<?PHP

$Type_Fichier = array(
"Video" => "Video",
"Images" => "pic",
"Musiques" => "zik",
"Autres" => "cc",
);

$rep = "user/$login/";
if (!is_dir($rep)) @mkdir($rep);
if ($_SERVER['REQUEST_METHOD'] == "POST" &&
isset($_POST['folder']) && isset($Type_Fichier[$_POST['folder']]) &&
@is_uploaded_file($_FILES['file']['tmp_name'])) {

$sFolder = $rep.strtolower($_POST['folder']);
if (!is_dir($sFolder) && !@mkdir($sFolder))
die(" '".$sFolder."'");
if (!@move_uploaded_file($_FILES['file']['tmp_name'], $sFolder."/".$_FILES['file']['name']))
die(" '".$sFolder."'");
}

echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><HTML>";
echo "<HEAD><TITLE>Partage de Fichiers</TITLE>";
if ($hDir = opendir($rep)) {
while (False !== ($sData = readdir($hDir))) {
if ($sData != "." && $sData != "..") {
echo "<B>".strtoupper($sData)."</B>";
echo "<DIV STYLE=\"margin-left: 20px; padding: 2px;\">";
$hDir2 = opendir($rep.$sData);
while (False !== ($sData2 = readdir($hDir2))) {
if ($sData2 != "." && $sData2 != "..")
echo "<A Href=$rep".$sData."/".$sData2.">".$sData2."</A><BR>";
}
closedir($hDir2);
echo "</DIV><BR>";
}
}
closedir($hDir);
}

echo "<center><FORM ENCTYPE=\"multipart/form-data\" METHOD=\"post\"";
echo "<BR><BR><B>Envoyer le fichier : </B><BR>";
echo "<INPUT TYPE=\"file\" NAME=\"file\"><BR><b>Type :</b>";
if ($langResult)
echo "<B>".$FICHIER."</B><INPUT TYPE=\"hidden\" NAME=\"folder\" VALUE=\"".$FICHIER."\">"; else {
echo "<SELECT NAME=\"folder\">";
$walkFunction = ($FICHIER) ?
'echo "<OPTION"; if ($v == "'.$FICHIER.'") echo " SELECTED"; echo ">".$v."</OPTION>";' :
'echo "<OPTION>".$v."</OPTION>";';
array_walk(array_keys($Type_Fichier), create_function('$v', $walkFunction));
echo "</SELECT>";
}
echo "<br />";
echo "<br />";
echo " <input name='login' type='text' id='login' VALUE = '$login' /> ";
echo " <input name='mdp' type='password' id='mdp' VALUE = '$mdp'/> ";

echo "<BR><BR><INPUT TYPE=\"submit\" VALUE=\" OK \">";
echo "</FORM></BODY></HTML></center>";

?>

Merci d'avance de votre aide!
Configuration: Windows XP
Firefox 1.5.0.12

1 réponse

  1. Salut.
    Pourquoi tu te veux mettre absolument des espaces??
    Tu peux pas mettre image_1?
    0
    1. le problème c'est que c'est pas pour moi le site et qu'il y a beaucoup de client qui envoi des fichiers avec espaces malheuresment!

      Une réponse... :)
      0