|
|
|
|
<form method=\"POST\" name=\"formulaire\" enctype=\"multipart/form-data\" action=\"traitement_telechargement_bat.php\">";
Configuration: Windows XP Internet Explorer 6.0
|
Cadeau, voilà le script que j'ai bricolé cet aprem pour uploader des fichiers, il fonctionne avec les .pdf
<?
//Initialisation d'un variable qui autorisera ou non l'enregistrement dans la base
$uploaded=0;
//Si le fichier a une taille
if($fichier_size>0)
{
//on génère un nombre aléatoire en 0 et 100000 qui sera ajouté à la fin du nom du dossier pour éviter les conflits (deux fichiers avec le même nom)
$rename=rand(0,100000);
//Répertoire où sera stocké ce fichier (le répertoire doit avoir les droits 0777)
$rep= $DOCUMENT_ROOT."societes/dossiers/fichiers/";
//On remplace les éventuels espaces dans le nom du fichier par des underscore
$fichier_name = str_replace (" ", "_", $fichier_name);
//On remplace les A avec accent par un A normal
$a = array("ä", "â", "à");
$fichier_name = str_replace ($a, "a", $fichier_name);
//On remplace les E avec accent par un E normal
$e = array("é", "è", "ê", "ë");
$fichier_name = str_replace ($e, "e", $fichier_name);
//On remplace les I avec accent par un I normal
$i = array("ï", "î");
$fichier_name = str_replace ($i, "i", $fichier_name);
//On remplace les O avec accent par un O normal
$o = array("ö", "ô");
$fichier_name = str_replace ($o, "o", $fichier_name);
//On remplace les U avec accent par un U normal
$u = array("ù", "û", "ü");
$fichier_name = str_replace ($u, "u", $fichier_name);
//On met le nom du fichier dans la variable $newfichier
$newfichier=$fichier_name;
//on sépare en deux le nom et l'extension
list($nom, $ext) = explode(".", $newfichier);
//Au nom, on rajoute un underscore et le nombre généré
$nom = $nom."_".$rename;
//On lui rajoute l'extension pour la copie dans le dossier
$savefile= $rep.$nom.".".$ext;
//Le fichier est déplacé dans le dossier prévu
move_uploaded_file($fichier, $savefile) or die('Impossible de copier le fichier : '.$savefile.mysql_error());
//On passe la variable à 1
$uploaded=1;
}
//Sinon, si le fichier n'a pas de taille
else
{
//Si pas de taille, la variable reste à zéro pour empêcher l'écriture dans la base
$uploaded=0;
}
?>
Avec ça ton fichier est copié où il faut, et tu peux récupérer son nom et son extension (je stocke les deux séparement pour un tri plus loin) Et mon input dans le formulaire se présente ainsi : <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=40240000> <input name="fichier" type="file" id="fichier" class="formulaire" value="" size="30"> |
> $rename=rand(0,100000);
Au lieu d'un nombre aléatoire, autant mettre un " time(); " ça pourra etre util pour avoir en meme temps la date de d'envoi du fichier ! En tout cas merci, je suis venu pour les accents, j'ai ce probleme et vais y remedier avec ta methode ! @++ et encore merci.
|
Bon je confirme, çà ruuules impec !
Les pdf s'ouvrent comme prévu. Au lieu de simplement : list($nom, $ext) = explode(".", $newfichier); Je préfère : // Definir la variable du nom du fichier
$fichier = $_FILES['titre']['name'];
// On recule de 3 caractère le nom du fichier
if (substr($fichier, -3) == 'jpg'
|| substr($fichier, -3) == 'gif'
|| substr($fichier, -3) == 'png'
|| substr($fichier, -3) == 'bmp'
|| substr($fichier, -3) == 'pdf'
|| substr($fichier, -3) == 'JPG'
|| substr($fichier, -3) == 'GIF'
|| substr($fichier, -3) == 'PNG'
|| substr($fichier, -3) == 'BMP'
|| substr($fichier, -3) == 'PDF')
{
$extension = substr($fichier, -3);
$nomFichier = substr_replace($fichier, '', -4);
}
// Idem mais de 4, dans le cas d'un jpeg
elseif ((substr($fichier, -4)) == 'jpeg' || (substr($fichier, -4)) == 'JPEG')
{
$extension = substr($fichier, -4);
$nomFichier = substr_replace($fichier, '', -5);
}
else { echo "Mauvaise extension !"; }
// On met en minuscule l'extension (peut causer des soucis d'exploitation des médias)
$extension = strtolower($extension);
$fichier_name = $nomFichier."_".date().$extension;
Pour la conversion des caractères accentués, je préconiserai aussi :
//On remplace les "espace" par un "tiret"
$espace = " ";
$fichier_name = str_replace ($espace, "-", $fichier_name);
Dans le cas d'une image, vous permettra d'utiliser des fonction getimagesize avec une url.
|
| 06/11 19h24 | [PHP] Upload de fichiers | PHP |
| 01/02 11h19 | [PDFCreator] réunir plusieurs fichiers pdf | Acrobat |
| 13/03 12h20 | Créer un fichier PDF | Acrobat |
| 30/01 10h37 | Publier un PDF en ligne | Webmaster |
| 15/06 16h38 | Optimiser le référencement des fichiers PDF | Référencement |
| 27/06 09h39 | PHP envoyer fichier pdf par par mail | 2 |
| 29/03 19h20 | PHP UPLOAD FICHIERS 1&& | 2 |
| 25/03 16h26 | PHP Upload fichiers | 3 |
| 04/01 18h06 | [PHP] Upload fichier ac fsockopen en FTP | 0 |
![]() | PDF Creator - PDF Creator est un outil gratuit permettant de créer des PDF à partir de presque n'importe quelle application capable... | Catégorie: PDF Licence: Open Source |
![]() | Image Resizer - Petit utilitaire (PowerToy) basique, très simple, permettant de réduire la taille d'une image, dans le but, notamment, de... | Catégorie: Graphisme Licence: Freeware/gratuit |
![]() | PDFtoHTML - PDFToHTML (PDF2HTML) est une application en ligne de commande permettant de convertir des fichiers PDF au format HTML. Le... | Catégorie: PDF Licence: Freeware/gratuit |
![]() | PDF SaM (Split and Merge) - PDFsam est un outil de fusion et de coupure de fichiers PDF. C'est une application open source désignée pour prendre en main... | Catégorie: PDF Licence: Open Source |
![]() | Pioneer PDF607 | Catégorie: Platine CD de salon | |
![]() | Pioneer PDF958 | Catégorie: Platine CD de salon | |
![]() | Pioneer PDF706 | Catégorie: Platine CD de salon | |
![]() | Pioneer PDF 1007 | Catégorie: Platine CD de salon |