Upload de fichier de plus de 15MB

Eléphanteau du PHP | 19 Messages

08 déc. 2016, 14:33

Salut.... depuis quelque temps je galère un peu sur mon hebergeur web qui n'arrivent pas à uploader un fichier de plus de 7.8MB or dans sa configuration PHP il dit autoriser jusqu'à 50MB.

Je me demande bien si ce n'est pas mon script qui serait faux mais le hic c'est quand local mon script marche convenablement et va au delà de 15MB par upload... Donc les amis et grand frères j'aimerais savoir s'il y a une erreur dans mes code ou si je dois changer d'hebergeur???

Si je dois changer d'hebergeur quelles sont ceux qui m'arrangement pour les upload de fichier pour la plupart inferieure a 20MB (avec mon projet).

Ou si je dois suivre une formation speciale!

Merci d'avance::!!!

Voici mon script

Code : Tout sélectionner

<?php session_start(); require_once('necessaires/db.php'); //si l'utilisateur clique sur uploader if(isset($_POST['submit'])) { $fileSize = $_FILES["file"]["size"]; if ($fileSize < 20074449) { //reconnaissances et sécurisisation des variables renvoyées $nom_artiste = htmlspecialchars(trim($_POST['artiste'])); $titre_single = htmlspecialchars(trim($_POST['titre'])); $en_feat = htmlspecialchars(trim($_POST['feat'])); $genre_single = htmlspecialchars(trim($_POST['genre'])); $duree_single = htmlspecialchars(trim($_POST['duree'])); $mode_promo = htmlspecialchars(trim($_POST['mode'])); $production_beat = htmlspecialchars(trim($_POST['prod'])); $pays = htmlspecialchars(trim($_POST['pays'])); $facebook = htmlspecialchars(trim($_POST['fb'])); $offres = htmlspecialchars(trim($_POST['offres'])); $mixtape = htmlspecialchars(trim($_POST['mixtape'])); // extenciones permitidas para subir $allowedExts = array("mp3","MP3"); $temp = explode(".", $_FILES["file"]["name"]); $extension = end($temp); if ($extension == 'mp3' || $extension == 'MP3') { if ((($_FILES["file"]["type"] == "audio/mp3") || ($_FILES["file"]["type"] == "audio/MP3")) && in_array($extension, $allowedExts)) { if ($_FILES["file"]["error"] > 0) { echo "0"; } else { $fileName = $_FILES["file"]["name"]; $fileType = $_FILES["file"]["type"]; $urlid = rand(10000,90000); $urlid2 = rand(10000000000000000,900000000000000000); //dossier ou le single sera envoyé $dossier = "instrus/"; move_uploaded_file($_FILES["file"]["tmp_name"], $dossier. $urlid2. ".mp3" ); $url = "$urlid2.mp3"; //requete sql //requête d'insertion des info sur le fichier dans le mp3 $query = $bdd->prepare("INSERT INTO instrumentaux(id,artiste,titre,taille,genre,mode,cover,album_mixtape,lien,date_ajout,pays,prod,source,duree,feat,ecoutes,vote_pour,vote_contre,telechargements,vues) VALUES (?,?,?,?,?,?,?,?,?,NOW(),?,?,?,?,?,0,0,0,0,0) "); $query->execute(array($urlid,$nom_artiste,$titre_single,$fileSize,$genre_single,$mode_promo,$image_single,$mixtape,$urlid2,$pays,$production_beat,$fileName,$duree_single,$en_feat)); echo "Le fichier ".$fileName ." a été bien uploadé <br> <a href='instru.php?id=$urlid' target='_blank'>Voir le single</a>"; } } }else{ echo "Veiller sélectionner un fichier audio mp3"; } }else{ echo "Votre fichier mp3 ne doit pas dépasser 20 MB"; } }

Mammouth du PHP | 1967 Messages

08 déc. 2016, 14:49

Il ya plusieurs paramètres qui peuvent limiter l'upload. pas seulement dans ton php.ini, mais aussi dans ton formulaire html

Dans tous les cas, il peut être interessant pour toi de te renseigner sur des solution Ajax/javascript qui permettent de contourner ces limitations. le javascript va découper ton fichier en petit paquet, les transfèrer un à un et tout reconstituer sur ton serveur. Il existe plusieurs bibliothèque qui te permettent ce genre de truc.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 19 Messages

08 déc. 2016, 14:55

Peut tu me donner le nom de ces méthodes ou des liens et tutoriels utiles??

Mammouth du PHP | 1967 Messages

08 déc. 2016, 15:25

J'ai un peu du chercher, mais j'ai trouver ceci
https://github.com/blueimp/jQuery-File- ... le-uploads
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 19 Messages

08 déc. 2016, 15:33

Cette méthode marcherait t-elle si mon hebergeur a limité lupload en post a 8MB

Mammouth du PHP | 1967 Messages

08 déc. 2016, 15:58

A priori oui, il suffit de luis définir la taille des chunks en fonction de tes limitations.

Mais il faut quand même vérifier si l'offre de ton hebergeur est conforme avec l'utilisation de ton site.
Il y a des raisons de limiter certains paramètres, et les contourner t'expose peut être à enfreindre leur conditions générales
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 19 Messages

09 déc. 2016, 09:52

Ah bon... han