I have a problem with this PHP script. It was working but suddenly it doesn't work anymore. The CSV file if good and not empty.
What would the problem be?
<?php
require_once 'Controller/DBController.php';
ini_set('memory_limit', '-1');
ini_set('max_execution_time', 14400);
//header('Content-type: text/plain; charset=utf-8');
//$ftp_server="I-BRETON.corp.noxiane.net";
$ftp_server="ftp-euc.corp.noxiane.net";
$ftp_user_name="*****";
$ftp_user_pass="*****";
$ftp_server_infoservice_r7 = "s*********t.fr"; (i just replaced the server with *** for the post)
$ftp_server_infoservice_prod = "s*********t.fr";
$ftp_login_infoservice = '*****';
$ftp_pass_infoservice = '*******';
$rowNumber = 0;
$row = [];
$content = [];
$tabFilesList = [];
$serveur_dir = '/lem-shared/_DataApplications/APW/DIGITAL/Ronde Securite';
// $filename = 'bdd ronde de secu reponse.csv';
$type = 'reponse';
$format = '.csv';
$dir = "C:\\wamp64\\www\\Infoservice_APW_RONDE_SECURITE\\";
$path = "C:/wamp64/www/Infoservice_APW_RONDE_SECURITE/APW_RONDESECUR";
$local_dir = $dir . 'APW_RONDE_SECURITE_R/';
// Récupération des fichiers sur le I:/
try {
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
if ($filesList = ftp_nlist($conn_id, $serveur_dir)) {
foreach($filesList as $serveur_file) {
$file = explode("/", $serveur_file)[6];
var_dump($file);
//echo $file;
if(strpos($file, $type) !== false && strpos($file, $format) !== false)
{
echo "<br/> passage !";
array_push($tabFilesList, $local_dir.$file);
var_dump($tabFilesList);
echo '<br/> Fichier récupéré <br/>';
if (ftp_get($conn_id, $local_dir.$file, $serveur_file, FTP_ASCII)) {
echo "passage 2";
echo "successfully downloaded files\n";
var_dump($tabFilesList);
}
else {
echo "There was a problem while uploading $file\n";
}
}
}
}
else {
echo "Problème rencontré pour lister les fichiers";
}
ftp_close($conn_id);
} catch (Exception $e){
echo $e;
}
// boucle sur tous les fichiers récupérés du I:/ pour les formater dans un fichier sans extension
$dbcontroller = new DBController();
$rowNumber = 0;
//if (($handle = fopen("APW_RONDE_SECURITE_R/tmp/export-bdd-reponse.csv", "r")) !== FALSE) {
if (($handle = fopen($tabFilesList[0], "r")) !== FALSE) {
while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) {
if($rowNumber != 0) {
$row = [];
$nbCol = count($data);
for($i = 0; $i < $nbCol; $i++) {
if(strpos($data[$i], ';') !== false)
{
$data[$i] = str_replace(';', ',', $data[$i]);
}
if($i == 3 || $i == 10)
{
// 10/27/2020 10:53
$date = DateTime::createFromFormat('d/m/Y H:i', $data[$i]);
// Format voulu : 27/10/20 10:53
$reformat_date = $date->format('d/m/y H:i');
//print_r ($reformat_date);
array_push($row, $reformat_date);
}
else {
array_push($row, $data[$i]);
}
}
array_push($content, $row);
echo $data[2];
$stmt = "SELECT * FROM LEM_APW_RONDESECU_R WHERE ID = '".$data[2]."' ";
$query = $dbcontroller->executeQueryOracle($stmt);
$id = null;
while (($ligne = oci_fetch_array($query, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
$id = $ligne['ID'];
}
var_dump($id);
if(!$id == null) // On regarde si on a récupérer un ID, si ce n'est pas le gars alors $id est à null
{
$stmt = "DELETE FROM LEM_APW_RONDESECU_R WHERE ID = '".$id."' ";
$query = $dbcontroller->executeQueryOracle($stmt);
//echo "Suppression de l'élément " . $id . "qui éxistait déjà";
}
}
$rowNumber++;
}
fclose($handle);
}
$new_filename = 'APW_RONDESECUR';
$file = fopen($path, 'w');
foreach($content as $line){
fputcsv($file, $line, ';');
}
fclose($file) ;
// upload sur Infoservice_PROD
try {
$conn_id = ftp_connect($ftp_server_infoservice_prod);
$login_result = ftp_login($conn_id, $ftp_login_infoservice, $ftp_pass_infoservice);
ftp_pasv($conn_id, true);
// upload a file
if (ftp_put($conn_id, $new_filename, $path, FTP_ASCII)) {
echo "successfully uploaded $file\n";
}
else {
echo "There was a problem while uploading $file\n";
}
ftp_close($conn_id);
} catch (Exception $e){
echo $e;
}