A voir également:
- Probleme sur un script php (upload)
- Script vidéo youtube - Guide
- Upload video youtube - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
23 réponses
j ai remodifier le formulaire (form.html) comme ceci :
et la page php (upload.php) :
toujour en panne je tombe bien sur la page php avec "Hebergeur en maintenance, désole.
Veuillez reporter votre hebergement.
merci en haut de page
pour faire un test ===> http://acr02.fr/form.html
merci
<!-- Formulaire -->
<!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" -->
<form method="POST" action="upload.php" enctype="multipart/form-data">
<!-- Limiter la taille des fichiers à 500Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend><font color=#000000>Envoi de fichiers</font></legend>
<!-- champs d'envoi de fichier, de type file -->
<p><label for="up"><font color=#000000>Fichier</font></label><input type="file" name="up" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
et la page php (upload.php) :
<?php
if(isset($_FILES['up']))
{
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = '/up/';
// utilisez également des slashes sous windows : $dest_dossier = '/up//up/';
// vérifications
if( !in_array( substr(strrchr($_FILES['up']['name'], '.'), 1), $extensions_ok ) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['up']['free'])
and filesize($_FILES['up']['free']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['up']['free']);
// 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-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['up']['free'], $dest_dossier . $dest_fichier);
}
}
?>
Hebergeur en maintenance, désole.
Veuillez reporter votre hebergement.
merci
toujour en panne je tombe bien sur la page php avec "Hebergeur en maintenance, désole.
Veuillez reporter votre hebergement.
merci en haut de page
pour faire un test ===> http://acr02.fr/form.html
merci
L'erreur venait de la ligne
Cela indique que le dossier destination est à la racine du serveur (alors que toi tu veux sans doute que ce soit à la racine du site)... Il faut donc changer pour 'up/'.
et puis du fait que tu utilisais mal le fichier $_FILES (pour savoir exactement ce qu'il contient, fais print_r($_FILES) et tu verras sa structure exacte).
Bon, pour que ça marche, je l'ai installé et fait marcher, et j'ai changé des trucs à droite à gauche, je ne peux pas te dire de tête si c'est bloquant ou pas.
Donc je te mets le code (qui marche) :
Bon, j'ai pas fait dans la dentelle, il indique toujours qu'il y a eu une erreur. Quand celle-ci est vide, c'est qu'il n'y a pas d'erreur... ;-)
Raph
$dest_dossier = '/up/';
Cela indique que le dossier destination est à la racine du serveur (alors que toi tu veux sans doute que ce soit à la racine du site)... Il faut donc changer pour 'up/'.
et puis du fait que tu utilisais mal le fichier $_FILES (pour savoir exactement ce qu'il contient, fais print_r($_FILES) et tu verras sa structure exacte).
Bon, pour que ça marche, je l'ai installé et fait marcher, et j'ai changé des trucs à droite à gauche, je ne peux pas te dire de tête si c'est bloquant ou pas.
Donc je te mets le code (qui marche) :
<?php
if(!isset($_FILES['up'])) {
header('Location: form.html');
exit();
}
// params
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = 'up/';
// utilisez également des slashes sous windows : $dest_dossier = '/up//up/';
// vérifications
if( !preg_match('/\.'.join('|', $extensions_ok).'\Z/', $_FILES['up']['name']) ) {
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
} elseif( file_exists($_FILES['up']['tmp_name'])
and filesize($_FILES['up']['tmp_name']) > $taille_max) {
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['up']['name']);
echo "fichier destination : ",$dest_fichier, "<br/>";
// 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-9]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['up']['tmp_name'], $dest_dossier . $dest_fichier);
}
?>
Il s'est produit une erreur : <?=$erreur ?>
Bon, j'ai pas fait dans la dentelle, il indique toujours qu'il y a eu une erreur. Quand celle-ci est vide, c'est qu'il n'y a pas d'erreur... ;-)
Raph