telecharger un fichier vers le serveur

Eléphant du PHP | 186 Messages

13 avr. 2007, 10:27

Bonjour à tout le monde!

Je travaille actuellement sur la possibilité de rapatrier un fichier de type mp3 depuis n'importe quel poste vers un dossier prédéfini sur un serveur.

Voici ce que j'ai fait jusqu'à présent:
unset($erreur);  
$extensions_ok = array('mp3');


if ((isset($_FILES['chanson'])) && (in_array( substr(strrchr($_FILES['chanson']['name'], '.'), 1), $extensions_ok ))) {

	$dest_dossier = "groupe/";
	$_FILES['chanson']['name'] = $row_rs_fiche_etab['etab_id']."-".$row_rs_fiche_etab['type_etab']."-01.mp3";
	$dest_fichier = basename($_FILES['chanson']['name']);
	// copie du fichier
	move_uploaded_file($_FILES['chanson']['tmp_name'], $dest_dossier . $dest_fichier);
	
	$test1 = $dest_dossier . $dest_fichier; // le chemin
	
} 
Quand je fais un echo de $test1, il m'affiche le bon chemin de destination avec le nom correspondant mais rien ne se passe i.e. que je ne récupère pas le mp3 sur le serveur.

Il faut dire que ce code provient d'un module permettant de redimmensionner les images avant de les copier sur le serveur au bon endroit.
Il doit probablement me manquer le code qui dit de copier le mp3 dans le repertoire de destination.

Si quelqu'un sait comment faire, merci de m'aider.

ViPHP
ViPHP | 1996 Messages

13 avr. 2007, 20:39

il fait combien en poids ton mp3 ?

Edite les erreurs $_FILES avec $_FILES['variable']['error'] pour savoir si il y a un problème (un petit lien : http://www.phpdebutant.org/article113.php)
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 186 Messages

16 avr. 2007, 15:17

j'ai essayé des mp3 de différents poids : min 3,25Mo.
Quand je fais un echo de $_FILES['variable']['error'], il me rajoute le chiffre 1. qu'est ce que ca veut dire? il y a 1 erreur?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 avr. 2007, 16:07

Explication sur les messages d'erreurs de chargement de fichiers : http://us.php.net/manual/fr/features.fi ... errors.php
UPLOAD_ERR_INI_SIZE
Valeur : 1. Le fichier téléchargé excède la taille de upload_max_filesize, configurée dans le php.ini.
Généralement la taille maximum définie par défaut dans le php.ini est de 2Mo :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 186 Messages

17 avr. 2007, 10:51

Merci Ryle! C'était bien ca mon problème.

Sinon juste une autre question:
est-il possible via php, en plus de copier un fichier sur le serveur au bon endroit, de créer un dossier (dans lequel sera placer le fichier) dont le nom sera prédeterminé par le résultat d'une requete?

Et si oui, un peu d'aide ne sera pas de refus.

Merci encore pour l'info sur la taille max dans php.ini.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 avr. 2007, 15:23

Tu peux utiliser la fonction mkdir() pour créer un dossier. A toi de passer en paramètre le nom que tu veux utiliser, qu'il proviennent d'une variable, d'une requête ou juste d'une chaine :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...