mon script Upload qui bug
- Accueil
- Forum
- Programmation
- PHP
- mon script Upload qui bug
jeannot_gates Le 30 août 2016 à 11:42 (Édité le 25 janvier 2019 à 17:52)
je suis entrain de coder mon site web et j'aimerais que les utilisateur une fois connecter puisse poster des fichier .MP3 et qui sera enregistrez dans un dossier appeler files qui je trouve dans le même dossier que mon formulaire, le problème est que, quand je fais des test en local je n'ai aucune erreur qui apparaît mais quand je me rend sur mon dossier file pour voir si le fichier .MP3 se trouve il y'a rien voici mon code
<?php
if(!empty($_FILE))
{
$file_name= $_FILE['fichier']['name'];
$file_extension= strrchr($file_name, ".");
$file_tmp_name= $_FILE['fichier']['tmp_name'];
$file_dest= 'files/'.$file_name;
$extensions_autorisees= array('.mp3', '.MP3');
if(in_array($file_extension, $extensions_autorisees))
{
if(move_uploaded_file($file_tmp_name, $file_dest))
{
$req2= $bdd->prepare("INSERT INTO files(name, file_url) VALUES(?,?)");
$req2->execute(array($file_name,$file_dest));
}
else
{
$sms="Une erreur est survenue mors de l'envoi du fichier";
}
}
else
{
$sms='Votre fichier doit être de format .mp3 ou MP3';
}
}
?>
<form method='POST'enctype='multipart/form-data'>
<input type='file'name='fichier'class='parcourire'><br>
<button type='submit'class='uploader_fichier'><i class="fa fa-cloud-upload fa-2x" aria-hidden="true"></i>Uploader le fichier.</button>
<?php
if(isset($sms))
{
echo "<p class='une_erreur2'> ".$sms. " </p>";
}
?>
</form>
Et merci d'avance pour vos réponse. Arthel Le 30 août 2016 à 11:56 (Édité le 1 janvier 1970 à 01:00)
Je ne voit pas dans ton script quand tu déplace le fichier choisit dans ton dossier files
jeannot_gates Le 30 août 2016 à 11:58 (Édité le 1 janvier 1970 à 01:00)
$file_dest= 'files/'.$file_name;
Arthel Le 30 août 2016 à 12:53 (Édité le 1 janvier 1970 à 01:00)
Désoler je n'avait pas vu.
Alors en premier lieu tu doit mettre:
if(isset($_FILES['fichier']) AND !empty($_FILES['fichier']['name']{
...
}
Toi tu marquer $_FILE alors qu'il faut l'écrire $_FILES, quand j'ai mit:
var_dump($_FILES);
Il m'a donner le code de l'erreur donner par $_FILES:
array(1) { ["fichier"]=>
array(5) {
["name"]=>
string(29) "Best of Mr Suicides Sheep.mp3"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(1)
["size"]=>
int(0)
}
}
Et tu peut trouver la signification sur le site de php.net, donc le 1 signifie: UPLOAD_ERR_INI_SIZE. Cette erreur tu peut la modifier que en créant un fichier php.ini dans la racine de ton site si ton hébergeur l'accepte. Je t'ai trouver un tuto sur ce site qui pourrait t'aider a le faire. TheOldNoob Le 30 août 2016 à 13:00 (Édité le 1 janvier 1970 à 01:00)
Déjà, tes extentions sont pas correcte. Tu met
$extensions_autorisees= array('.mp3', '.MP3');
et juste avant tu met pour les extentions :
$file_extension= strrchr($file_name, ".");
Donc, si tu reli ton code, ton fichier va s'appel :
music..mp3 ?
jeannot_gates Le 30 août 2016 à 13:04 (Édité le 1 janvier 1970 à 01:00)
TheOldNoob Le 30 août 2016 à 13:08 (Édité le 1 janvier 1970 à 01:00)
Effectivement le fichier php.ini peu posé problème sur la taille du fichier que tu souhaite uploadé.
Sur un hébergeur mutualisé, tu ne pourra pas touché se fichier, mais généralement la limite est autour des 32 ou 64mo donc ne doit pas posé de problème.
En local, tu trouve se fichier dans le répartoir de ton logiciel qui gère ton serveur apache (xampp, wamp...)
jeannot_gates Le 30 août 2016 à 14:02 (Édité le 1 janvier 1970 à 01:00)