【发布时间】:2020-05-30 21:55:35
【问题描述】:
我有一个 PHP 脚本,我想将它包含在我的 laravel 应用程序中。所以我尝试构建一个控制器并将脚本放在上面。PHP 脚本的作用是从 csv 文件中获取数据并插入它在数据库中。但是当我运行它时注意到发生了。 所以这是我的 Job 等待控制器:
<?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);
}
}
这是job_waitC.php:
<?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());
}
}
}
?>
这是job_en_wait.php:
<?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;
}
}
?>
【问题讨论】:
-
1.在 Laravel 中使用自动加载是很常见的,不要使用包含。 2. 你不应该做回声。 3. 您的文件名、缩进或函数名不符合任何标准。 4. 你在使用很多老式的 PHP 函数,使用 Laravel 组件,如存储等。
-
when i run it noting happen- 你如何运行它?您的 Web 服务器、PHP 和 Laravel 日志显示什么?您是否进行了一些基本调试,例如它是否达到了您的dos()方法? -
@Don'tPanic 成功到达 dos() 方法,但没有在数据库中插入任何内容