0

I'm uploading a file in laravel. The path is storing in database but unable to store image into destination folder.
Here is my controller.

public function post_contact()
{
$contact = new Contact;
                $contact->name   =       Input::get('name');
                $contact->email   =       Input::get('email');
                $contact->mobile   =       Input::get('mobile');
                $contact->password   =       Input::get('password');
                $contact->confirm   =       Input::get('confirm');
                if($contact->save())
                {
                    $data = Input::except('_token');
                    $contact->upload    =       $data['upload'];
                    $time=time();
                    if(Input::hasFile('upload'))
                    {
                        $file = Input::file('upload');
                        $image=$time . '.' .$file->getClientOriginalName();
                        $file->move_uploaded_file(public_path().'../app/uploads', $image);
                    }  
                    $contact->save();
                }
                return Redirect::route('contact')->with('success','Successfully Saved');
            }   
2
Contributors
4
Replies
19
Views
2 Years
Discussion Span
Last Post by diafol
0

Here's a user defined library method I use:

public static function storeFile($fieldName, $uploadFolder)
{
    if (Input::hasFile($fieldName))
    {
        if (Input::file($fieldName)->isValid())
        {
             if($uploadFolder == 'customers')
             {
                $prefix = 'cf';
             }elseif($uploadFolder == 'loans'){
                $prefix = 'ln';
             }else{
                 return false;
             }

             $extension = Input::file($fieldName)->getClientOriginalExtension();
             $filename = $prefix . "_"  . mt_rand(1000000000,9999999999) . "." . $extension;

             $destinationPath = public_path() . "/fileuploads/$uploadFolder/";

             if(Input::file($fieldName)->move($destinationPath, $filename))
             {
                return $filename;
             }
        }
    }
    return false;
}

Usage:

$fieldName = 'fileupload';
$uploadFolder = 'loans';

if( $filename = General::storeFile($fieldName, $uploadFolder) )
{
    //store filename to DB
}else{
    //raise error
}

So it may be this line:

 $file->move_uploaded_file(public_path().'../app/uploads', $image);

Try:

 $file->move(public_path().'../app/uploads', $image);

Edited by diafol

0

I work out on this code and now the databse storing the wrong path of the image but the image is get stored in desired location.
Here is the code.

public function post_contact()
{
                $contact = new Contact;
                $contact->name   =       Input::get('name');
                $contact->email   =       Input::get('email');
                $contact->mobile   =       Input::get('mobile');
                $contact->password   =       Input::get('password');
                $contact->confirm   =       Input::get('confirm');
                if($contact->save())
                {
                    $contact->upload    =       $data['upload'];
                    $time=time();
                    if(Input::hasFile('upload'))
                    {
                        $file = Input::file('upload');
                        $img=$time . '.' .$file->getClientOriginalName();
                        $file->move('../app/uploads/', $img);
                    }  
                    $contact->save();
                }
                return Redirect::route('contact')->with('success','Successfully Saved');
            }
0

Databse store the path like this
D:\xampp\tmp\php9EB7.tmp

0

Where are you storing the path in your code? I'd imagine:

$contact->file = $img;

somewhere

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.