Bonjour ,j e suis nouveau en developpement jai choisi faire du laravel j'ai commencer un site il ny a pas longtemps enfait je voudrais recuperer la taille, le format d'un fichier et l'enregistrer dans une table. puisque l'utilisateur ne saisi pas ces infos comment je pourrait les obtenir et les enregistrer. Quelqu'un pourrait t-il m'aider? ****
Voila je rencontre un petit problème avec mon code.
Décrivez ici votre code ou ce que vous cherchez à faire
Entourez votre code pour bien le mettre en forme
Décrivez ici ce que vous cherchez à obtenir
Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
les réponses a tes questions ici : https://openclassrooms.com/courses/upload-de-fichiers-par-formulaire#/id/r-1085788
pour la taille : $_FILES['field_name']['size'] // va sortir '1048576' par exemple
pour l'extension : end(explode('.', $_FILES['field_name']['name'])) // va sortir 'png' par exemple
sinon une petite méthode ;-) quand tu as le size:
protected function taille_fichier($octets)
{
$resultat = $octets;
for($i=0; $i<8 && $resultat >= 1024; $i++)
{
$resultat = $resultat /1024;
}
if($i > 0){
return preg_replace('/,00$/', '', number_format($resultat,2, '.', '')).' '.substr('KMGTPEZY', $i-1, 1).'o';
}else{
return $resultat.' o';
}
}
je ne sais pas si je dois remettre un autre sujet mais il sagit du meme site je cherche a uploader des fichiers mais jai une erreur qui m'empeche d'evoluer je cherche depuis le dimanche et je ne trouve pas
Call to a member function getClientOriginalExtension() on string
mon Controlleur
<?php
namespace App\Http\Controllers;
use App\Http\Requests\StoreFilesNewsRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Store;
use Storage;
use Illuminate\Support\Facades\Input;
use Illuminate\Http\File;
use App\BeatFormat;
use App\Beat;
use App\Format;
class AjoutController extends Controller
{
public function Addbeat()
{
$format = Format::all();
return view('BeatsViews.ajouterbeat' , compact('format'));
}
public function storebeat(Request $request)
{
// Enregistrement dans la table beat
$request->bea_cheminImage->getClientOriginalExtension();
$beat = new Beat;
$beat->bea_nom = $request->bea_nom;
$beat->bea_dureeExtrait = $request->input('bea_dureeExtrait');
$beat->bea_cheminImage = Storage::putFileAs('public/image', $request->bea_cheminImage, $beat->bea_nom);
$beat->save();
// Enregistrement dans la table format
$format = new Format;
$format -> for_nom = $request->input('for_nom');
$format->save();
// Enregistrement dans la table beatformat
$beatformat = new BeatFormat;
$beatformat -> id_format = $beat -> for_id;
$beatformat -> id_beat = $beat -> bea_id;
$beatformat -> bf_taille = $request->input('bf_taille');
$beatformat -> bf_prix = $request->input('bf_prix');
$beatformat -> bf_chemin = Storage::putFileAs('public/music', $request-> bf_chemin, $beatformat->bea_nom);
$beatformat->save();
return redirect('/ajout');
}
Ma vue
<div class="form-group{{ $errors->has('bf_chemin') ? ' has-error' : '' }}">
<label for="bf_chemin" class="col-md-4 control-label">Fichier Beat :</label>
<div class="col-md-5">
{!! Form::file('bf_chemin', ['class'=> 'form-control-file']) !!}
</div>
</div>
<div class="form-group{{ $errors->has('bea_cheminImage') ? ' has-error' : '' }}">
<label for="bea_cheminImage" class="col-md-4 control-label">Fichier image :</label>
<div class="col-md-5">
{!! Form::file('bea_cheminImage', ['class'=> 'form-control-file']) !!}
</div>
</div>