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.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre code pour bien le mettre en forme

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

6 réponses


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';
        }

    }
Nardis
Auteur

Merci a vous je vais de ce pas essayer

Nardis
Auteur

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

Nardis
Auteur

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');
    }
Nardis
Auteur

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>