Upload PHP

Résolu/Fermé
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 - 9 juil. 2009 à 21:01
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 - 10 juil. 2009 à 12:54
Bonjour,
Je voudrais que l'on puisse uploader des videos sur mon site inranet (http://localhost/videos/upload.php).
J'ai trouvé un script sympa ici : https://antoine-herault.developpez.com/tutoriels/php/upload/#L3.3

<?php
$dossier = 'upload/'; //<= Problème n°1 : Que dois-je marqué ici pour que la video soit uploader dans http://localhost/video/
$fichier = basename($_FILES['video']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['video']['tmp_name']);
$extensions = array('.flv', '.avi', '.wmv', '.mp4');
$extension = strrchr($_FILES['video']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type flv, avi, wmv, mp4 !';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['video']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>

J'ai essayer de mettre 'videos/' comme valeur de la variable $dossier et est tester mais il marque : Echec de l'upload !

Merci d'avance pour votre aide, Duchnoki

13 réponses

crocoscore Messages postés 165 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 3 février 2015 5
10 juil. 2009 à 08:58
<h2>Envoyer un fichier ('flv' | Taille: moins de 500mo)</h2>
<p>
<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 500000000) //500000000 = 500mo
{
// Testons si l'extension est autorisée
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array( 'flv'); //typr de fichier (ici .flv, pour les vidéos)
if (in_array($extension_upload, $extensions_autorisees))
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'fichier/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
?>

<form method="post" enctype="multipart/form-data">
<p>
Formulaire d'envoi de fichier :<br />
<input type="file" name="monfichier" /><br />
<input type="submit" value="Envoyer le fichier" />
</p>
</form>
Je t'ai graissé et souligné ce qu'il faut remplacé. 500000000 c'est la taille du fichier (=500mo), flv c'est le type de fichier et fichier c'est le nom du dossier.

Attention le chemin vers le dossier et celui de cette feuille .php vers le dossier
2
Utilisateur anonyme
9 juil. 2009 à 21:05
met "./" à la place de "upload/"
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
9 juil. 2009 à 21:07
Je vais voir...
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
9 juil. 2009 à 21:09
Non, désolé, il dit toujours Echec de l'upload !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
9 juil. 2009 à 21:31
et tu a modifier les valeurs d'upload maximales dans ton fichier de configuration ?
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
9 juil. 2009 à 22:22
Heu
tu veux uploader dans le dossier videos
et tu appelles ton dossier upload ...

c'est
$dossier = '/videos/';
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
10 juil. 2009 à 08:20
Et tu a modifier les valeurs d'upload maximales dans ton fichier de configuration ?
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Ben... :
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = "c:/wamp/tmp"

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
10 juil. 2009 à 08:22
Heu
tu veux uploader dans le dossier videos
et tu appelles ton dossier upload ...
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Non, j'ai déjà essayer de mettre la variable $dossier a '/video/'
Mais sa marche toujours pas !
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
10 juil. 2009 à 09:10
Cette fois, il ne dit rien.
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
10 juil. 2009 à 10:49
J'ai ajouté echo $_FILES['monfichier']['error'] et il marque 2, et d'après ce tuto : http://www.commentcamarche.net/faq/sujet 889 php upload de fichiers
c'est UPLOAD_ERR_FORM_SIZE.
Est-ce-que quelqu'un pourrait me traduire ce que UPLOAD_ERR_FORM_SIZE veut dire et comment réparer cette erreur ?
Merci !
Si je supprime <input type="hidden" name="max_file_size" value="1024"> il dit 1 donc UPLOAD_ERR_INI_SIZE.
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
10 juil. 2009 à 10:59
J'ai compris : UPLOAD_ERR_FORM_SIZE c'est taille du fichier trop grande (dans le formulaire) et UPLOAD_ERR_INI_SIZE c'est taille du fichier trop grande (dans php.ini).
Mais si j'envoie un fichier plus petit que 2M, il dit :

Warning: move_uploaded_file(videos/page_php - Copie.flv) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\wamp\www\videos\add.php on line 15

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\wamp\tmp\php7AA6.tmp' to 'videos/page_php - Copie.flv' in C:\wamp\www\videos\add.php on line 15
L'envoi a bien été effectué !0
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
10 juil. 2009 à 12:01
C'est bon, j'ai fait quelque modification et ça marche, mais j'aimerais uploader un vidéo qui fait 2,17 Mo, combien dois-je mettre de M ????
0
duchnoki Messages postés 158 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 novembre 2010 4
10 juil. 2009 à 12:54
Ok, c'est bon, il suffisait de mettre 500000000 dans le fichier de configuration php (php.ini), DE REDEMARRER WAMP SERVER (je le met en MAJ. car c'est l'erreur que j'ai fait) et de modifier move_uploaded_file($_FILES['monfichier']['tmp_name'], 'fichier/' . basename($_FILES['monfichier']['name'])); par move_uploaded_file($_FILES['monfichier']['tmp_name'], './' . basename($_FILES['monfichier']['name']));

Merci a tous pour votre aide !!!! :)
0