Rechercher : dans
Par :

Upload PHP

Dernière réponse le 10 jui 2009 à 12:54:27 duchnoki, le 9 jui 2009 à 21:01:56 
 Signaler ce message aux modérateurs

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 : http://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

Configuration: Windows Vista
Firefox 3.0.11
Wamp Server (Intranet)

Meilleures réponses pour « Upload PHP » dans :
[PHP] Upload de fichiers Voir Le langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

sonik21, le 9 jui 2009 à 21:05:44

Met "./" à la place de "upload/" JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

2

duchnoki, le 9 jui 2009 à 21:07:45

Je vais voir...

Répondre à duchnoki

3

duchnoki, le 9 jui 2009 à 21:09:31

Non, désolé, il dit toujours Echec de l'upload !

Répondre à duchnoki

4

sonik21, le 9 jui 2009 à 21:31:34

Et tu a modifier les valeurs d'upload maximales dans ton fichier de configuration ? JuZa.e3b.org || No man's land, People are strange, & Jesus was a punk ## The Blood's Flowers
#Engraved February#             Sleepwalking Past Hope

Répondre à sonik21

5

jeangilles, le 9 jui 2009 à 22:22:41

Heu
tu veux uploader dans le dossier videos
et tu appelles ton dossier upload ...

c'est
$dossier = '/videos/';

Répondre à jeangilles

6

duchnoki, le 10 jui 2009 à 08:20:14

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

Répondre à duchnoki

7

duchnoki, le 10 jui 2009 à 08:22:48

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 !

Répondre à duchnoki

8

crocoscore, le 10 jui 2009 à 08:58:04

<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 13 ans, webmaster, j'ai pas la classe?

Répondre à crocoscore

9

duchnoki, le 10 jui 2009 à 09:10:54

Cette fois, il ne dit rien.

Répondre à duchnoki

10

duchnoki, le 10 jui 2009 à 10:49:48

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.

Répondre à duchnoki

11

duchnoki, le 10 jui 2009 à 10:59:07

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

Répondre à duchnoki

12

duchnoki, le 10 jui 2009 à 12:01:54

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 ????

Répondre à duchnoki

13

 duchnoki, le 10 jui 2009 à 12:54:27

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 !!!! :)

Répondre à duchnoki