Je voudrai créer un script en PHP qui permette d’uploader des fichiers sur le serveur, quelqu’un saurait-il m’aider ?
<!-- Formulaire --><!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" --><form method="POST" action="notre_script.php" enctype="multipart/form-data"><!-- Limiter la taille des fichiers à 500Ko --><input type="hidden" name="MAX_FILE_SIZE" value="500000" /> <fieldset><legend>Envoi de fichiers</legend><!-- champs d'envoi de fichier, de type file --><p><label for="Fichier">Fichier :</label><input type="file" name="photo" /></p><!-- bouton d'envoi --><p><input type="submit" name="envoi" value="Envoyer le fichier" /></p></legend></fieldset></form>
J’ai vu sur le lien qu’il faut d’abord uploader le fichier qui sera placer dans un répertoire temporaire puis ensuite il faut le copier au bonne endroit, mais je n’en suis pas la car j’ai un petit souci avec se premier script pour uploader le fichier, j’ai donc placer mon script php dans le répertoire www de EasyPHP, puis je l’ai lancer dans mon navigateur, la page affiche 1 bouton pour aller chercher le fichier sur le disque dur puis 1 autre bouton pour l’envoyer sur le serveur, donc je vais chercher un fichier puis je clique sur envoyer et la apparaît une page introuvable, voyer vous se qui ne va pas ?<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="notre_script.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend>Uploader vos images</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="logo">Logo :</label><input type="file" name="logo" /></p>
<p><label for="photo">Photo :</label><input type="file" name="photo" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
J’aimerai pouvoir ajouter à mon script une limite de taille pour le logo à 80 px sur 80 px, et pour la photo à 700 px sur 500 px, quelqu’un pourrait-il m’aider je bloque complètement ?<?php
if(isset($_FILES['photo'])){
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '/home/monsite/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, 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 500Ko !';
}
//
// Vérification de la taille de la photo
//
// Définition de la longueur et de la largeur max
$longueur_photo_max = "700";
$largeur_photo_max = "500";
elseif(file_exists($_FILES['photo']['tmp_name'])){
$size = getimagesize($_FILES['photo']['tmp_name']);
if(($size[0] > $largeur_photo_max) || ($size[1] > $longueur_photo_max)){
$erreur = 'Les dimensions de la photo sont trop grandes !';
}
}
//
// Fin de la vérification
//
// 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-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
}
}
?>
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="notre_script.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend>Uploader vos images</legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="logo">Uploader votre logo : </label><input type="file" name="logo" /></p>
<p><label for="photo">Uploader votre photo : </label><input type="file" name="photo" /></p>
$longueur_photo_max = "700";
$largeur_photo_max = "500";
elseif(file_exists($_FILES['photo']['tmp_name'])){
$size = getimagesize($_FILES['photo']['tmp_name']);
if(($size[0] > $largeur_photo_max) || ($size[1] > $longueur_photo_max)){
$erreur = 'Les dimensions de la photo sont trop grandes !';
}
}
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
Mais je bloque encore Code : Tout sélectionner
Parse error: parse error in C:\easyPHP\www\upload\upload_2a.php on line 30<?php
if(isset($_FILES['photo'])){
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '/home/monsite/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, 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 500Ko !';
}
//
// Vérification de la taille de la photo
//
elseif(file_exists($_FILES['photo']['tmp_name'])){
// Définition de la longueur et de la largeur max
$longueur_photo_max = "700";
$largeur_photo_max = "500";
$size = getimagesize($_FILES['photo']['tmp_name']);
if(($size[0] > $largeur_photo_max) || ($size[1] > $longueur_photo_max)){
$erreur = 'Les dimensions de la photo sont trop grandes !';
}
}
//
// Fin de la vérification
//
// 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-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
}
}
?>