Skip to main content

upload laravel file in server best way

step 1:  upload zip file first in server
step 2: create folder outside the public_html let(xyz)
step3: unzip file and move all folders and files except public folder to  xyz folder
step4: inside .env file manage database name username etc
step 5: copy all files and folders from public folder to public_html folder
step 6: inside index.php file change following:
                     require__DIR__'/__/xyz/bootstrap....

                   $app=require__DIR__'/__/xyz/bootstrap/app.php....
eg:
require __DIR__.'/../himanibackend/vendor/autoload.php';


$app = require_once __DIR__.'/../himanibackend/bootstrap/app.php';

$app->bind('path.public', function () {
    return __DIR__;
});


All is done now one change is:
while uploading files and folder  in controller....

store or upload function:

$image='';
if(!empty($request->file('image')))
{
$file=$request->file('image');
// $path=base_path().'/public/post_upload'; (replace this by )
$path=base_path().'/../public_html/post_upload';
$name=uniqid().'_'.$file->getClientOriginalName();
if($file->move($path,$name))
{
$image=$name;
}

}



Best Way:

1: Create Database , username , password ...
2: Import Database in the Php Mydamin
3: Copy Zip file inside public_html
4: unzip project there
5: put .htaccess inside public folder

code inside that htaccess is:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>



6: .htaccess file outside  of file manager.. just inside file manager:


<IfModule mod_rewrite.c>

   RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
   RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]
   
   RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
   RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

   RewriteEngine On
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
   RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php71” package as the default “PHP” programming language.
<IfModule mime_module>
  AddType application/x-httpd-ea-php71 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit


7: now edit .env file with database username, password , database name ...
and set debug:false,

OR

7: inside  c0nfig-> app.php : set key as :

'key'=>'key generated by command here',

and, inside config ->database.php

 'database' => 'database name',
            'username' => 'user name',
            'password' => 'password ',


Now done, this much is to be done...



#understanding

env file maa
main_path=/public/


and while file upload store fn:

if(!empty($request->file('image')))
{
$file=$request->file('image');
$path=base_path().env('main_path').'event_upload';
// $path=public_path().'/event_upload';

//wrong method :

// $path=base_path().'/public/event_upload';

$name=uniqid().'_'.$file->getClientOriginalName();
if($file->move($path,$name))
{
$image=$name;
}
}

but from using public_path directly, system will auto take public path






Comments

Popular posts from this blog

Installing Admin LTE in Laravel

step 1:  Reference---  https://hdtuto.com/article/laravel-56-adminlte-bootstrap-theme-installation-example Step 2 : after completion first reference view this link:    https://github.com/JeroenNoten/Laravel-AdminLTE step 3:  For more additional information view this link:   https://github.com/jeroennoten/Laravel-AdminLTE#2-updating Now you are done statically : https://adminlte.io/blog/integrate-adminlte-with-laravel Steps: 1:  composer require jeroennoten/laravel-adminlte 2: 'providers' => [ .... JeroenNoten\LaravelAdminLte\ServiceProvider::class, ], 3: php artisan vendor:publish --provider="JeroenNoten\LaravelAdminLte\ServiceProvider" --tag=assets 5: php artisan vendor:publish --provider="JeroenNoten\LaravelAdminLte\ServiceProvider" --tag=config 6: php artisan vendor:publish --provider="JeroenNoten\LaravelAdminLte\ServiceProvider" --tag=views 7: for admin pannel php artisan ...

Integration of adminlte admin pannel in laravel 6 adn above

Create new laravel project : laravel new projectname --auth Steps to integrate admin pannel i.e. adminlte 1.  composer require jeroennoten/laravel-adminlte 2.  php artisan adminlte:install 3.  php artisan adminlte:install --only=auth_views 4. php artisan vendor:publish --provider="JeroenNoten\LaravelAdminLte\AdminLteServiceProvider" --tag=views Filemanager: https://unisharp.github.io/laravel-filemanager/installation 1.  composer require unisharp/laravel-filemanager:~1.8 php artisan vendor:publish --tag = lfm_config php artisan vendor:publish --tag = lfm_public 3.  php artisan route:clear php artisan config:clear you will get a problem regarding file relode after upload and to solve do this fix it on vendor\unisharp\laravel-filemanager\src\Controllers\UploadController.php replace line 60 return count($this->errors) > 0 ? $this->errors : parent::$success_response; by return count($this->errors) > 0 ? ...

Setting and Getting Cookie and Session in laravel

First of all lets discuss many ways to set cookies inside controller : $response = new Response ( redirect ( 'news' )); //$minute=5; // $response->withCookie(cookie('name', 'virat', $minutes)); $response -> withCookie ( cookie ()-> forever ( 'news_id' , $newsid )); return $response ; // or // Cookie::queue('news_id', $news_id, 15); // return redirect('news'); // or // return redirect('news')->withCookie(cookie('name', 'virat', $minutes)); use Illuminate\Support\Facades\ Request ; use Illuminate\Http\ Response ; use Illuminate\Support\Facades\ Cookie ; To get cookies: inside controller $val = Request :: cookie ( 'news_id' ); // dd($val); $v = Cookie :: get ( 'news_id' ); // dd($v); or $value = $request -> cookie ( 'name' ); in blade: {{ Cookie :: get ( 'news_id' ) }} Now lets see for session: Ref...