標籤

BAT (38) shell (34) Virtual Machine (33) Xubuntu (29) acfs (25) PHP (24) CentOS (21) Virtul Box (20) 編輯器 (17) 資料庫 (15) lubuntu (13) windows (13) CPP (12) ubuntu (12) chrome (11) laravel (10) Docker (9) Python (9) 5A88 (7) VMware (6) 資料結構 (6) Javascript (5) Node (5) Proxmox VE (5) 公告系統 (5) 程式積木 (5) Android Studio (4) ANN (3) OB2D2016x64 (3) Xoops (3) clonezilla (3) samba (3) 公文 (3) 其他 (3) 硬體 (3) API (2) Android (2) AppInvent2 (2) Html (2) Hyper-V (2) Nas (2) botnet (2) mbot (2) swift (2) wordpress (2) 樣板 (2) 防火牆 (2) AD的應用 (1) Ansible (1) Arduino (1) CSS (1) GitLab (1) HA Proxy (1) LegoEV3 (1) PowerShell (1) Scratch (1) VM (1) XenServer (1) kotlin (1) linuxmint (1) lxc (1)

2019年5月21日 星期二

Laravel 一部主機開發管理多個虛擬專案

感恩和東國小王麒富組長的指導

1.專案名稱
   (1) test01
   (2) test02
   (3) test03

(1) 建立資料夾
$cd /var/www/html/
$mkdir test01
$mkdir test02
$mkdir test03

(2)針對各資料夾,建立laravel,並更名
$composer create-project laravel/laravel --prefer-dist /home/webadmin/html/test01
$cd /var/www/html/test01/
$php artisan key:generate
$sudo chown -R www-data storage/ bootstrap/cache/
$cd /var/www/html/test01/resources/
$pico welcome.blade.php
在82行  將 Laravel 改為 test01.Laravel

$composer create-project laravel/laravel --prefer-dist /home/webadmin/html/test02
$cd /var/www/html/test02/
$php artisan key:generate
$sudo chown -R www-data storage/ bootstrap/cache/
$cd /var/www/html/test02/resources/
$pico welcome.blade.php
在82行  將 Laravel 改為 test02.Laravel

$composer create-project laravel/laravel --prefer-dist /home/webadmin/html/test03
$cd /var/www/html/test03/
$php artisan key:generate
$sudo chown -R www-data storage/ bootstrap/cache/
$cd /var/www/html/test03/resources/
$pico welcome.blade.php
在82行  將 Laravel 改為 test03.Laravel

3.編輯 /etc/hosts
   $sudo pico /etc/hosts
    新增
     127.0.0.1  www.localhost.test01.laravel
     127.0.0.1  www.localhost.test02.laravel
     127.0.0.1  www.localhost.test03.laravel

4.編輯 /etc/apache2/sites-enabled/000-default.conf
   $sudo pico /etc/apache2/sites-enabled/000-default.conf
   新增
<VirtualHost *:80>
       ServerName localhost.test01
       ServerAlias www.localhost.test01.laravel
       DocumentRoot /var/www/html/test01/public
       <Directory "/var/www/html/test01">
               Options -Indexes
               AllowOverride All
               Require all granted
       </Directory>
</VirtualHost>
<VirtualHost *:80>
       ServerName localhost.test02
       ServerAlias www.localhost.test02.laravel
       DocumentRoot /var/www/html/test02/public
       <Directory "/var/www/html/test02">
               Options -Indexes
               AllowOverride All
               Require all granted
       </Directory>
</VirtualHost>
<VirtualHost *:80>
      ServerName localhost.test03
       ServerAlias www.localhost.test03.laravel
       DocumentRoot /var/www/html/test03/public
       <Directory "/var/www/html/test03">
               Options -Indexes
               AllowOverride All
               Require all granted
       </Directory>
</VirtualHost>

5.輸入指令啟動rewrite mod
$sudo a2enmod rewrite

6.重新啟動 Apache2
$sudo service apache2 restart

7.開啟瀏覽器,在分頁上分別輸入
 www.localhost.test01.laravel
 www.localhost.test02.laravel
 www.localhost.test03.laravel
如下圖




資料來源:

2019年5月17日 星期五

Laravel 經常使用的套件與其使用方法

1.Laravel Collective 5 – HTML Form Builder for Laravel 5
 (1)安裝
$composer require laravelcollective/html
(2)編輯 config/app.php
$sudo pico config/app.php
(2.1)加入
'providers' => [ // ... Collective\Html\HtmlServiceProvider::class, // ... ], 'aliases' => [ // ... 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, // ... ],

2.Laravel File Manager
(1)安裝
$composer require unisharp/laravel-filemanager:~1.8
(2)編輯 config/app.php
$sudo pico config/app.php
(2.1)加入
'providers' => [ // ...
UniSharp\LaravelFilemanager\LaravelFilemanagerServiceProvider::class,
Intervention\Image\ImageServiceProvider::class, // ... ], 'aliases' => [ // ... 'Image' => Intervention\Image\Facades\Image::class, // ... ],
(2.2)發布
$php artisan vendor:publish --tag=lfm_config
$php artisan vendor:publish --tag=lfm_public
(2.3)清除快取
$php artisan route:clear
$php artisan config:clear
(2.4)建立軟連結
$php artisan storage:link


3.Laravel Impersonate 1.3
(1)安裝
$composer require lab404/laravel-impersonate
(2)編輯 config/app.php
$sudo pico config/app.php
(2.1)加入
'providers' => [ // ...
Lab404\Impersonate\ImpersonateServiceProvider::class,
// ... ],

4.PHPOffice/PHPWord
(1)安裝
$composer require phpoffice/phpword





資料來源:
1.Laravel Collective 5 – HTML Form Builder for Laravel 5
2.Laravel File Manager
3.Laravel Impersonate 1.3
4.PHPOffice/PHPWord
5.unisharp/laravel-ckeditor
6.doctrine/dbal
7.Adldap2/Adldap2-Laravel

2019年5月6日 星期一

Laravel 5.7.0 使用 maatwebsite/excel 匯入匯出 使用者的帳號的 Excel 與 CSV

0.安裝目錄/home/webadmin/html/laravel
1.安裝 laravel 5.7
   $composer create-project laravel/laravel --prefer-dist /home/webadmin/html/laravel 5.7
   $sudo vi /etc/hosts
   $sudo vim /etc/apache2/sites-available/laravel.conf 

    寫入:
-------------------------------------------------------------------------------------
<VirtualHost *:80>
   ServerName localhost

   ServerAdmin webmaster@localhost
   DocumentRoot /home/webadmin/html/laravel/public


<Directory /home/webadmin/html/laravel>
         AllowOverride All
         Require all granted
   
</Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

-------------------------------------------------------------------------------------

   如果要取消原本80網頁
   $sudo a2dissite 000-default.conf
   啟用新網頁
   $sudo a2ensite laravel.conf
   $sudo a2enmod rewrite
   $sudo service apache2 restart

   更改特定目錄擁有者為www-data,及777
   $cd /home/webadmin/html/laravel/
   $sudo chown -R www-data storage/ bootstrap/cache/
   $sudo chmod -R 777 storage/ bootstrap/cache/

2.安裝套件與生成配置檔案 
   $cd /home/webadmin/html/laravel/
   $composer require "maatwebsite/excel":"~2.1.0"
   編輯 /home/webadmin/html/laravel/config/app.php
   'providers' => [
....
Maatwebsite\Excel\ExcelServiceProvider::class,
    ],
    'aliases' => [
....
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ],
  生成配置檔案
   $php artisan vendor:publish

3.建立認證
   $cd /home/webadmin/html/laravel/
   $php artisan make:auth
   $php artisan migrate

4.新增路由:
   編輯/home/webadmin/html/laravel/routes/web.php
   $sudo pico /home/webadmin/html/laravel/routes/web.php
    其內容為:
    Route::get('AllUserExport','IMorExportsController@AllUserExport')->name('AllUserExport');
    Route::get('AllUserDownload/{type}','IMorExportsController@AllUserDownload')->name('AllUserDownload');
    Route::post('AllUserImport','IMorExportsController@AllUserImport')->name('AllUserImport');

5.建立控制器:
    $php artisan make:controller IMorExportsController --resource
    編輯/home/webadmin/html/laravel/app/Http/Controllers/IMorExportsController.php
    $sudo pico /home/webadmin/html/laravel/app/Http/Controllers/IMorExportsController.php
    其內容為:
 <?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Excel;
use DB;

class IMorExportsController extends Controller
{
    public function AllUserExport() {
        return view('ImportAndExport');
    }

    public function AllUserDownload($type) {
        $data = User::get()->toArray();
        return Excel::create('AllUserDownload',function ($excel) use ($data) {
            $excel->sheet('mySheet',function ($sheet) use($data){
                $sheet->fromArray($data);
            });
        })->download($type);
    }

    public function AllUserImport(Request $request) {
        $users = User::get()->toArray();
        $request->validate([
           'import_file' => 'required'
        ]);
       $path = $request->file('import_file')->getRealPath();
       $data = Excel::load($path)->get();
       $fail_message = ' ';
       if ($data->count()) {
           foreach ($data as $key => $value) {
               foreach ($users as $userkey => $user) {
                   if ( $value->email != $user['email']) {
                       $arr[] = [
                           'name'       => $value->name,
                           'email'      => $value->email,
                           'password'   => bcrypt($value->password),
                           'created_at' => now(),
                           'updated_at' => now(),
                       ];
                   } else {
                       $fail_message .= $value->email.' ';
                   }
               }
           }
           if ($fail_message != ' ') {
               return back()->with('fail','Duplicate email: '.$fail_message);
           }
           if(!empty($arr)) {
               User::insert($arr);
           }
       }
       return back()->with('success','Insert Record successfully.');
    }
}

6.建立 Blade 檔案
   建立 ImportAndExport.blade.php
   $touch /home/webadmin/html/laravel/resources/views/ImportAndExport.blsde.php
   編輯/home/webadmin/html/laravel/resources/views/ImportAndExport.blsde.php
   $sudo pico /home/webadmin/html/laravel/resources/views/ImportAndExport.blsde.php
   其內容:
<html lang="zh-Tw">
  <head>
      <title> Import and Export Excel xls xlsx and CSV</title>
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
  </head>
  <body>
     <div class="container">
         <div class="card-text-center">
             <div class="card-header">
                <h5> Download file </h5>
             </div>
             <div class="card-body">
                 <ul class="nav nav-tabs card-header-tabs">
                     <li class="nav-item">
                         <a href="{{ route('AllUserDownload','xls') }}" class="nav-link">Download xls</a>
                     </li>
                     <li class="nav-item">
                         <a href="{{ route('AllUserDownload','xlsx') }}" class="nav-link">Download xlsx</a>
                     </li>
                     <li class="nav-item">
                         <a href="{{ route('AllUserDownload','csv') }}" class="nav-link">Download CSV</a>
                     </li>
                 </ul>
             </div>
         </div>
         <div class="card">
             <div class="card-header">
                <h5> Import CSV </h5>
             </div>
             <div class="card-body">
                <form style="border: 1pt solid #a1cbef;margin: 10px;padding: 10px;" action="{{ route('AllUserImport') }}" class="form" method="post" enctype="multipart/form-data">
                    @csrf
                    @if ($errors->any())
                        <div class="alert alert-danger">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">x</a>
                            <ul>
                                @foreach($errors->all() as $error)
                                    <li>{{ $error }}</li>
                                @endforeach
                            </ul>
                        </div>
                    @endif

                    @if ( Session::has('success'))
                        <div class="alert alert-success">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">x</a>
                            <p>{{ Session::get('success') }}</p>
                        </div>
                    @endif

                    @if ( Session::has('fail'))
                        <div class="alert alert-danger">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">x</a>
                            <p>{{ Session::get('fail') }}</p>
                        </div>
                    @endif

                    <input type="file" name="import_file" />
                    <button class="btn btn-primary">Import CSV</button>
                </form>
             </div>
         </div>
     </div>
  </body>
</html>

7.成果

資料來源:

2019年5月2日 星期四

利用 ZenMate 訂購美國西南航空的機票

1.在瀏覽器輸入 http://www.southwest.com 會出現下列圖示
2.於是網路找尋資料,要如何進入?找到資料來源1

3.開始實作:
   (1) 到 ZenMate 免費 VPN 連線工具,支援美國、香港等五個國家 IP 伺服器
  (2) 加到 Chrome
  (3) 點選新增擴充功能
  (4)在瀏覽器上方,出現新圖示
  (5) 第一次要點選 Sign Up,輸入資料並送出

   (6)請到信箱收信,並點選來確認電子郵件帳戶
   (7)點選完後,你會發現你的帳戶是 Ultimate
  (8)點選 步驟(4)的出現的新圖示
,變更位置。可以選擇美國


   (9)此時,在瀏覽器輸入 http://www.southwest.com 會出現下列圖示。成功!!
  (10) 如何停用,點選如下位置

   (11)使用完畢後,請先登出

   (12)使用完畢後,如何移除 ZenMate。

    (13) 找到下列圖示,並點選移除


資料來源:
1.ZenMate 免費 VPN 連線工具,支援美國、香港等五個國家 IP 伺服器

在 Windows 10 x64 1909版,使用BAT快速安裝公文系統與人事服務網(自然人憑證)版

相關內容移往 https://skjhcreator.blogspot.com/2021/02/windows-10-x64-1909bat.html