在laravel中包含PHP脚本

在laravel中包含PHP脚本,php,laravel,laravel-6,Php,Laravel,Laravel 6,我有一个PHP脚本,我想将它包含在我的laravel应用程序中。因此,我尝试构建一个控制器并将脚本放在上面。PHP脚本的作用是从csv文件中获取数据并将其插入数据库。但当我运行它时,不会发生任何情况。 这是我的作业等待控制器: <?php namespace App\Http\Controllers; include(app_path() . '/config.php'); include(app_path() . '/CDM/entities/job_en_wait.php'); in

我有一个PHP脚本,我想将它包含在我的laravel应用程序中。因此,我尝试构建一个控制器并将脚本放在上面。PHP脚本的作用是从csv文件中获取数据并将其插入数据库。但当我运行它时,不会发生任何情况。 这是我的作业等待控制器:

<?php

namespace App\Http\Controllers;
include(app_path() . '/config.php');
include(app_path() . '/CDM/entities/job_en_wait.php');
include(app_path() . '/CDM/core/job_en_waitC.php');

use App\job_en_wait;
use Illuminate\Http\Request;

class JobWaitController extends Controller
 {
 //
function dos(){

 $dir = app_path(). '/files/';

$scan = scandir($dir);

$file = fopen($dir.$scan[4], "r");

print_r($scan[4]);

echo "<br>";

$data = fgetcsv($file, 1000, ",");

while (($data = fgetcsv($file, 1000, ",")) !== FALSE)
{
    if ($data[0]!=";;;;;") {
      $liste=explode(";",$data[0]);
      //print_r($liste);

     $job_en_wait=new job_en_wait(0,$liste[0],$liste[1],$liste[2],$liste[3],$liste[4],$liste[5],$liste[6],$liste[7],$liste[8],$liste[9],$liste[10]);

      $job_en_waitController=new job_en_waitC();

      $job_en_waitController->afficherjob_en_wait($job_en_wait);
      $job_en_waitController->ajouterjob_en_wait($job_en_wait);
      //echo "<br>job_en_wait integré avec succes <br>";
    }

}

fclose($file);


  }
  }

这违反了PSR惯例。有一种更干净的方法。 您在应用程序中犯了一些代码约定错误

  • 您应该遵循名称空间的PSR命名:
  • 您应该创建一个单独的配置文件。所以在你的laravel配置中 文件夹,您应该创建一个可由访问的配置文件 config()函数
  • 这方面的一个例子是: 1) 在/app/Models中创建文件夹 2) 将JobWait作为一个laravel模型(你不需要做所有的sql,你应该使用雄辩的 将JobWait的命名空间指定为“使用应用程序/模型”

    我完全建议将您使用的JobWait类转换为Laravel模型。

    1.在Laravel中使用自动加载是很常见的,不要使用include.2.你不应该使用echos.3.你的文件名、缩进或函数名不符合任何标准。4.你使用的是很多老式PHP函数使用Laravel组件,如存储等。
    当我运行它时,不会发生任何事情。
    -你如何运行它?你的网站是什么服务器、PHP和Laravel日志显示?您是否进行了一些基本调试,例如它是否达到了您的
    dos()
    方法?@Don't它成功地达到了dos()方法,但没有在数据库中插入任何内容
    <?PHP
    
        class job_en_waitC {
    
    
        function afficherjob_en_wait ($job_en_wait){
        echo "id: ".$job_en_wait->getid()."<br>";
        echo "client: ".$job_en_wait->getclient()."<br>";
        echo "session: ".$job_en_wait->getsession()."<br>";
        echo "info_session: ".$job_en_wait->getinfo_session()."<br>";
        echo "UPROC: ".$job_en_wait->getUPROC()."<br>";
        echo "num_session: ".$job_en_wait->getnum_session()."<br>";
        echo "num_exec: ".$job_en_wait->getnum_exec()."<br>";
    
        echo "date_debut: ".$job_en_wait->getdate_debut()."<br>";
        $hd=date_create($job_en_wait->getheure_debut());
        echo "heure_debut :".date_format($hd,"g:i:s A")."<br>";
    
        echo "date_fin: ".$job_en_wait->getdate_fin()."<br>";
        $hf=date_create($job_en_wait->getheure_fin());
        echo "heure_fin :".date_format($hf,"g:i:s A")."<br>";
        echo "status: ".$job_en_wait->getstatus()."<br>";
    
       }
    
       function ajouterjob_en_wait($job_en_wait){
        $date_debut=$job_en_wait->getdate_debut();
        $date_fin=$job_en_wait->getdate_fin();
    
        /*$heure_debut=date_create($job_en_wait->getheure_debut());
        $final_heure_debut=date_format($heure_debut,"m/d/Y H:i:s");
    
        $heure_fin=date_create($job_en_wait->getheure_fin());
        $final_fin_debut=date_format($heure_fin,"m/d/Y H:i:s");*/
        $heure_debut=$job_en_wait->getheure_debut();
        $heure_fin=$job_en_wait->getheure_fin();
        //echo "job_en_wait->getheure_fin ".$job_en_wait->getheure_fin();
        $sql="INSERT into job_en_wait (client,session,info_session,UPROC,num_session,num_exec,date_debut,heure_debut,date_fin,heure_fin,status)
         values (:client,:session,:info_session,:UPROC,:num_session,:num_exec,STR_TO_DATE('$date_debut','%d/%m/%Y'),STR_TO_DATE('05/12/2020 $heure_debut','%d/%m/%Y %H:%i:%s'),STR_TO_DATE('$date_fin','%d/%m/%Y'),STR_TO_DATE('05/12/2020 $heure_fin','%d/%m/%Y %H:%i:%s'),:status)";
        //echo "request :".$sql."<br>";
        $db = config::getConnexion();
        try{
        $req=$db->prepare($sql);
    
        $client=$job_en_wait->getclient();
        $session=$job_en_wait->getsession();
        $info_session=$job_en_wait->getinfo_session();
        $UPROC=$job_en_wait->getUPROC();
        $num_session=$job_en_wait->getnum_session();
        $num_exec=$job_en_wait->getnum_exec();
    
        $date_debut=$job_en_wait->getdate_debut();
        $heure_debut=$job_en_wait->getheure_debut();
        $date_fin=$job_en_wait->getdate_fin();
        $heure_fin=$job_en_wait->getheure_fin();
    
        $status=$job_en_wait->getstatus();
    
    
        $req->bindValue(':client',$client);
        $req->bindValue(':session',$session);
        $req->bindValue(':info_session',$info_session);
        $req->bindValue(':UPROC',$UPROC);
        $req->bindValue(':num_session',$num_session);
        $req->bindValue(':num_exec',$num_exec);
    
        $req->bindValue(':status',$status);
    
            $req->execute();
    
        }
        catch (Exception $e){
            echo 'Erreur exec erreur: '.$e->getMessage();
        }
    
    }
    
    function afficherjobs_en_wait(){
        //$sql="SElECT * From job_en_wait e inner join formationphp.job_en_wait a on e.cin= a.cin";
        $sql="SElECT * From job_en_wait";
        $db = config::getConnexion();
        try{
        $liste=$db->query($sql);
        return $liste;
        }
        catch (Exception $e){
            die('Erreur: '.$e->getMessage());
        }
    }
    
    
    } 
    
    ?>
    
    <?PHP
    class job_en_wait{
    
    private $id;
    private $client;
    private $session;
    private $info_session;
    private $UPROC;
    private $num_session;
    private $num_exec;
    private $date_debut;
    private $heure_debut;
    private $date_fin;
    private $heure_fin;
    private $status;
    
    function __construct($id,$client,$session,$info_session,$UPROC,$num_session,$num_exec,$date_debut,$heure_debut,$date_fin,$heure_fin,$status){
    $this->id=$id;
    $this->client=$client;
    $this->session=$session;
    $this->info_session=$info_session;
    $this->UPROC=$UPROC;
    $this->num_session=$num_session;
    $this->num_exec=$num_exec;
    $this->date_debut=$date_debut;
    $this->heure_debut=$heure_debut;
    $this->date_fin=$date_fin;
    $this->heure_fin=$heure_fin;
    $this->status=$status;
    }
    function getid(){
        return $this->id;
    }
    function getclient(){
        return $this->client;
    }
    function getsession(){
        return $this->session;
    }
    function getinfo_session(){
        return $this->info_session;
    }
    function getUPROC(){
        return $this->UPROC;
    }
    function getnum_session(){
        return $this->num_session;
    }
    function getnum_exec(){
        return $this->num_exec;
    }
    function getdate_debut(){
        return $this->date_debut;
    }
    function getheure_debut(){
        return $this->heure_debut;
    }
    function getdate_fin(){
        return $this->date_fin;
    }
    function getheure_fin(){
        return $this->heure_fin;
    }
    function getstatus(){
        return $this->status;
    }
    
    
    
    function setclient($client){
        $this->client=$client;
    }
    
    function setsession($session){
        $this->session=$session;
    }
    
    
    function setinfo_session($info_session){
        $this->info_session=$info_session;
    }
    
    function setUPROC($UPROC){
        $this->UPROC=$UPROC;
    }
    
    function setnum_session($num_session){
        $this->num_session=$num_session;
    }
    
    function setnum_exec($num_exec){
        $this->num_exec=$num_exec;
    }
    
    
    function setdate_debut($date_debut){
        $this->date_debut=$date_debut;
    }
    
    function setheure_debut($heure_debut){
        $this->heure_debut=$heure_debut;
    }
    
    function setdate_fin($date_fin){
        $this->date_fin=$date_fin;
      }
    
        function setheure_fin($heure_fin){
        $this->heure_fin=$heure_fin;
       }
    
    
       function setstatus($status){
        $this->status=$status;
      }
    
    
    
    
       }
    
       ?>