Upload PHP

Résolu
duchnoki Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -  
duchnoki Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   5
 
<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
 
met "./" à la place de "upload/"
0
duchnoki Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   4
 
Je vais voir...
0
duchnoki Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   4
 
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
 
et tu a modifier les valeurs d'upload maximales dans ton fichier de configuration ?
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
Cette fois, il ne dit rien.
0
duchnoki Messages postés 158 Date d'inscription   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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