Bonjour,
j'ai un petit souci, j'ai un fichier php dans lequel j'ai fait un include d'un fichier xls , et ce fichier php je le compile(en linux)pour qu'il me sort le fichier execl, le truc c'est que ce fichier appel le mauvais fichier .xls

ps: le même programme marche sur une base de donnée test et pas sur la base de donnée normal.

ma question est de savoir si ca sera un problème de droit ou un autre problème.
merci d'avance ;)

19 réponses


Carouge10
Réponse acceptée

Bonjour,
Ajoutez un "die();" juste derrière afin d'arrêter l'exécution du script et montrer-nous le code, s'il vous plaît.

Bonjour.

le truc c'est que ce fichier appel le mauvais fichier .xls

Montres nous au minimum ton code PHP, ça pourra peut-être nous permettre de t'aider, car avec si peu d'information nous allons avoir du mal.

debut du fichier .php que je compile

<?php session_start();?>

<?php
include("/home/www/ticket/edition_xls.php");
include ("/home/www/secuspace/accesssql.inc");
require_once("/home/www/Scripts/PHPMailer-master/PHPMailerAutoload.php");
$mysqli = new mysqli("localhost", "pass", "pass", "db_db");
$result = mysqli_query($mysqli,"SELECT * FROM cron");

while($line = mysqli_fetch_array($result))
{
    if(substr($line['sendDate'], 0, 13) == date('Y-m-d H') && $line['hardware']==1)
    {
        $date = $line['sendDate'];
        $id = $line['id'];
        $emails = explode(",", $line['email']);
        $dateDebutSemaine = new DateTime();
        $dateDebutSemaine->sub(new DateInterval("P7D"));

debut du fichier de creation du fichier excel : edition.xls

<?php 

function createWeeklyXls($nomFichier)
{
    $path_script="/home/www/Scripts/writeexcel/";
    require_once $path_script."class.writeexcel_worksheet.inc.php";
    require_once $path_script."class.writeexcel_workbook.inc.php";
    include ("/home/www/secuspace/accesssql.inc");
    $bgMoyen="#C7DCEA";
    $bgClair="#FFFFFF"; 
    $fname = ("/home/www/files/". $nomFichier);
    $workbook = new writeexcel_workbook($fname);
    $head_format =& $workbook->addformat(array(

@Lartak

hello,
var_dump($nomFichier) au début de ta function createWeeklyXls, juste pour voir...

@saibe, toujours pas de changement....

heu, non, la question ct qu'est-ce que te renvoie le var_dump ?

@saibe, le var_dump renvoie rien,

aïe, ça vient donc de plus profond....
on peut avoir un aperçu de ce qui envoie ta function createWeeklyXls ?

je peux pas vous donner tout le code puisse que je taf dans une boite du coup c'est pas tip top( code de la fonction createWeeklyxls fait 600 ligne +)

le truc c'est que ce fichier quand je le compile sur le serveur A, ca marche mais quand je le mets sur le serveur B ca marche pas et que ca appelle le mauvais fichier qui lui est delete.
ps: j'ai changé tout les chemins pour qu'ils pointent vers ce seveur B et sa base de donnée.

@saibe, le var_dump string(53) "nom de mon fichier" c'est normal ca?

Bonjour,
Il envoie exactement "nom de mon fichier" ou vous avez caché le nom de fichier pour confidentialité ?

string(53) "Facturation13-03-2017_au_20-03-2017.xls"

donc le fichier est bien passé en paramètre à la fonction.
Ensuite il faut continuer à vérifier ligne par ligne....

Est-ce que les chemins vers les fichiers inclus sont bon ? (Attention à la casse ainsi qu'à savoir si le chemin est absolu ou relatif)

oui ils sont tous bon, mais comment verifié qu'il y a pas de casse?
souvent je fais des print voir voir où en ait le bug mais la c'est un peu chaud

Voilà comment comparé l'inclusion :

// Fonctionne
if ((include 'vars.php') == 'OK') {
    echo 'OK';
}

Issue de la doc php de include

okey merci. je le fais et je te dis

@carouge, je l'ai fait il me renvoie :

PHP Fatal error:  Class 'writeexcel_workbook' not found in /home/www/ticket/edition_xls.php on line 13

12: $fname = ("/home/www/files/". $nomFichier);
13: $workbook = new writeexcel_workbook($fname);

ta une idée? pour moi tout semble normal

Cela veut dire que la classe dite dans l'erreur n'est pas chargé.

c'est bon ca marche , j'avais omis le require_once()
merci