Upload video

Résolu
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009 - 24 nov. 2009 à 13:51
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009 - 24 nov. 2009 à 21:32
bonjour à vous tous.

j'ai un petit soucis de d'upload video.
j'arrive à uploader des petits fichiers vidéo en mpg, mais j'y arrive pas pour les autres formats. d'auatnt plus que les seuls fichiers que j'arrive à télécharger sur mon serveur son de petite taille.

serveur apache, php5

quelqu'un pourrait m'aider svp ?

merci

22 réponses

cyrhades Messages postés 23 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 22 juillet 2010
24 nov. 2009 à 20:56
Petit flood desolé j'en profite pour corrigé mon copié collé pour la constantes DIR_UPLOAD ^^
<?php

define("MAX_SIZE",100000000);
define("DESTINATION_FOLDER", "../videos");
define("NO_ERROR", "../fichevideos.php");
define("ERROR", "erreur.php");
define("DIR_UPLOAD", "upload");

$accepted_extensions = array("video/mpeg", "video/msvideo", "video/x-sgi-movie");

// si le fichier est la
if( isset( $_FILE ))
{
// si c'est bien l'extension attendu	et qu'il n'y a pas d'erreur
if( in_array(  $_FILES['file']['type'] , $accepted_extensions ) && $_FILES['file']['error'] == 0 )
{
// si le fichier est uploadé
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
// On va faire un MD5_FILE qui permet de ne pas avoir de surprise
//	avec les noms tordu ^^ et pas de doublons
//  Sinon crée toi une fonction qui te genere un nom valide
$name_genere = MD5_FILE($_FILES['file']['tmp_name']);
// on peut maintenant mettre le fichier la ou on veut
if(move_uploaded_file($tmp_name, DIR_UPLOAD.'/'.$name_genere))
{
header ('Location:'.NO_ERROR);
}
}
}
}
// si on arrive ici c'est qu'il y a eut un soucis
header ('Location:'.ERROR);
?>


Si ça ne fonctionne pas regarde ce qui ressort dans
echo ':'.$_FILES['file']['type'].':' ;
recupere ce qu'il y a entre les : est ajoute le a :
$accepted_extensions = array("video/mpeg", "video/msvideo", "video/x-sgi-movie");

PS le code n'est pas testé donc peut être des erreurs je l'ai taper en m'appuyant sur ce que tu avait donné
3
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 16:22
Ben il va falloir vérifier les valeur timeout de ton serveur et le taille maximal de transfert autorisé.
fichier php.ini
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 16:55
j'ai mis le max mais rien y fait:

upload_max_filesize = 10000000M
post_max_size = 1000000M
max_execution_time = 300
max_input_time = 600
;max_input_nesting_level = 64
memory_limit = 128M


;upload_tmp_dir =
0
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 17:21
As-tu message d'erreur?
0

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

Posez votre question
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 17:26
bah non, donc je comprends pas
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 17:42
je me pose une question.

est ce qu'un serveur, par défaut, accepte le telechargement de fichier mpg, avi, wmv etc.. ?
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 18:27
petite infi sup:

j'arrive a uploader les fichier mpg et c tout
0
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 18:30
Mais c'est sur ton serveur perso ou sur un FAI?
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 18:33
un serveur perso avec apache, php5, mysql, phpmyadmin
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 18:37
voici une partie de mon code php:


$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",100000000);
define("DESTINATION_FOLDER", "../videos");
define("no_error", "../fichevideos.php");
define("yes_error", "erreur.php");
$_accepted_extensions_ = "mpg, avi, AVI, wmv";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}

$_file_ = $HTTP_POST_FILES['file'];


if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['file']['error'] == 0){
0
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 19:23
Bonjour, je ne comprend pas l'usage de define, au lieu de ini_set dans ton code, sauf si c'est bien des constantes que vous voulez définir pour la suite de votre programme.
Je vous conseille de tester déjà un code plus simple pour l'upload de vos videos et regardez si ça marche.
Et si ça marche, le problème de ne viens pas de l'upload

<?php
if (isset($_FILES)){

 	echo " Info telechargement :\n";
 	print_r($_FILES);
 	echo "

";
}
?>
<form enctype="multipart/form-data" method="post">


</form>
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 19:45
j'arrive à uploader des fichier en mpg, donc sa vient pas de l'upload....
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 19:53
je sais pas si il y a un lien mais j'ai enlevé le ; à extension=php_zip.dll et maintenant les ext avi passent.....

c une histoire de dingue

mais le wmv pass pas
0
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 19:58
essai quand même mon script avec les wmv. pour voir le résultat
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 20:06
non, sa marche po

donc sa doit bien venir du serveur
0
cyrhades Messages postés 23 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 22 juillet 2010
24 nov. 2009 à 20:26
Le serveur ne vérifie pas ce qui est uploadé en utilisant le script Mcjo as tu un resultatdans le tmp_name?
si oui c'est deja pas mal c'est que le serveur a recu le fichier le pb viendrais dans la copy ou le deplament du fichier.
Ton code n'est pas tres propre (mêmesi cela n'est pas la cause c'est pas plaisant a lire)
les constantes en minuscule par exemple pas terrible
le $HTTP_POST_FILES au lieu du $_FILE, les underscore en fin de variable, etc
Donc sinon pour revenir au probleme, tu n'as pas donné la partie du deplacement sur le serveur
as tu utilisé un copy() ou un move_upload ?
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 20:36
oui je fais pas mal de chose, voila le complet:
je peux l'expliquer si ya besoin



$HTTP_POST_FILES = &$_FILES;

define("MAX_SIZE",100000000);
define("DESTINATION_FOLDER", "../videos");
define("no_error", "../fichevideos.php");
define("yes_error", "erreur_photo.php");

$_accepted_extensions = array('wmv', 'asx','flv','mov','rmv','rmvb','swf', 'mpg', 'mpeg');
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}

$_file_ = $HTTP_POST_FILES['file'];


if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['file']['error'] == 0){



$errStr = "";
function supprimeAccents($chaine){

$tofind = "\'ÀÁÂÃÄÅàáâãäå-ÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ ";

$replac = "a_AAAAAAaaaaaa_OOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn_";

return(strtr($chaine,$tofind,$replac));

}
$_name_=supprimeAccents($_file_['name']);

//$_name_ = $_file_['name'];
$_type_ = $_file_['type'];

$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "Photo trop lourde";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Extension non valide";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Destination non valide";
}
if(empty($errStr)){
0
cs_Mcjo Messages postés 403 Date d'inscription dimanche 12 août 2001 Statut Membre Dernière intervention 3 septembre 2012 2
24 nov. 2009 à 20:48
peut-être devriez-vous essayer de modifier dans votre php.ini
error_reporting = E_ALL

display_errors = On

ces variables sont surement déjà présente

dans votre fichier php.ini
puis redémarrez apache
0
cyrhades Messages postés 23 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 22 juillet 2010
24 nov. 2009 à 20:53
<?php

define("MAX_SIZE",100000000);
define("DESTINATION_FOLDER", "../videos");
define("NO_ERROR", "../fichevideos.php");
define("ERROR", "erreur.php");
define("DIR_UPLOAD", "erreur.php");

$accepted_extensions = array("video/mpeg", "video/msvideo", "video/x-sgi-movie");

// si le fichier est la
if( isset( $_FILE ))
{
// si c'est bien l'extension attendu et qu'il n'y a pas d'erreur
if( in_array( $_FILES['file']['type'] , $accepted_extensions ) && $_FILES['file']['error'] == 0 )
{
// si le fichier est uploadé
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
// On va faire un MD5_FILE qui permet de ne pas avoir de surprise
// avec les noms tordu ^^ et pas de doublons
// Sinon crée toi une fonction qui te genere un nom valide
$name_genere = MD5_FILE($_FILES['file']['tmp_name']);
// on peut maintenant mettre le fichier la ou on veut
if(move_uploaded_file($tmp_name, DIR_UPLOAD.'/'.$name_genere))
{
header ('Location:'.NO_ERROR);
}
}
}
}
// si on arrive ici c'est qu'il y a eut un soucis
header ('Location:'.ERROR);
?>

Si ça ne fonctionne pas regarde ce qui ressort dans
echo ':'.$_FILES['file']['type'].':' ;
recupere ce qu'il y a entre les : est ajoute le a :
$accepted_extensions = array("video/mpeg", "video/msvideo", "video/x-sgi-movie");

PS le code n'est pas testé donc peut être des erreurs je l'ai taper en m'appuyant sur ce que tu avait donné
0
manu7930 Messages postés 191 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 14 décembre 2009
24 nov. 2009 à 21:13
question surement stupid mais :

"video/msvideo", "video/x-sgi-movie"

sa peu remplacer :

('wmv', 'asx','flv','mov','rmv','rmvb','swf', 'mpg', 'mpeg');

????
0
Rejoignez-nous