[PHP] Envoi des fichiers avec espaces...
dragoncity
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
dragoncity Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
dragoncity Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
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!
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!
A voir également:
- [PHP] Envoi des fichiers avec espaces...
- Espaces insécables - Guide
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
Une réponse... :)