Discussion:
Probleme avec un code
(trop ancien pour répondre)
Albenic
2007-09-15 11:43:35 UTC
Permalink
Bonjour à tous,

Je gère un parc de machines dans un lycée et suite à des demandes de
professeurs, j'ai installé sur le serveur web un cahier de textes écrit
en php. L'année dernière l'installation s'est bien déroulée et tout à
bien fonctionné, mais cette année suite à une mise à jour pour gérer les
nouveaux formats de fichiers contenant les données des élèves et des
professeurs cela ne fonctionne plus. J'ai fait la mise à jour nécessaire
et lorsque j'essaye d'importer le fichier contenant toutes les données
élèves, j'ai droit au message d'erreur suivant :

Parse error : parse error, unexpected T_STRING, expecting T_OLD_FUNCTION
or T_FUNCTION or T_VAR or '}' in
/home/www/html/lycee/moutiers/cdt/espace_perso/inc/fonction_sconet.php
on line 3


Je préfère être honnête : en php je n'y connais rien mais j'ai tout de
même regardé le fichier en cause et lu sur différents sites d'où cela
pouvait provenir mais je n'ai rien trouvé et je ne vois pas où peut-être
le problème en ligne 3.
Voici le code du fichier fonction_sconet.php :

<?
class fic_sconet {
public $lgfic;
public $contenu;
public $lg_entete;
public $lg_reccord;
public $nb_champ;
public $nb_reccords;
public $reccord_courant;
public $nom_champ;
public $affect;
public $change_carac;


//Constructeur
function fic_dbf() {
$lgfic=0;
$contenu = array() ;
$lg_entete=0;
$lg_reccord=0;
$nb_champ=0;
$reccord_courant = 0;
$affect = 0;
}

// init de la classe
//
function init_fic_sconet($nom_fic) {
//echo "**$nom_fic";
$this->lgfic=0;
if($fd = fopen($nom_fic, "rb")) {
// echo "<br> dans le if<br>";
$this->lgfic =filesize ($nom_fic);
// echo "<br> lg fic : $this->lgfic<br>";
//echo fgets($fd, 4096);
$this->contenu[] = fgets($fd, 4096);
$i=0;
while (!feof($fd)) {

$this->contenu[] = fgets($fd, 4096);
//echo $this->contenu[$i]."<br>";
$i++;
}
$this->nb_reccords = $i;
/*
$this->contenu = fread($fd, filesize ($nom_fic));
fclose($fd);
$data = substr($this->contenu,8,2);
echo "<br>$data";
$this->lg_entete=0; //ord($data[0])+(ord($data[1])<<8);
// $data = substr($this->contenu,10,2);
$this->lg_reccord=0;//ord($data[0])+(ord($data[1])<<8);
// $data = substr($this->contenu,4,4);
$this->nb_reccords=$i;
//ord($data[0])+(ord($data[1])<<8)+(ord($data[2])<<16)+(ord($data[3])<<24);
$table_champ = explode($this->contenu[0]);


$this->nb_champ = count($this->contenu) -1; //($this->lg_entete -34)/32;
*/

}
//@$this->change_carac = $liste_car;
//echo "fin du init";
return ($this->lgfic);
}

function nb_reccords_sconet() {
return ($this->nb_reccords);
}

function lg_fichier_sconet() {
return ($this->lgfic);
}

function lg_reccord_sconet() {
return 0; //$this->lg_reccord;
}

function lg_entete_sconet() {
return 0; //$this->lg_entete;
}

function nb_champ_sconet() {
return ($this->nb_champ);
}
/*
function carac_champ_dbf($num) {
// $tab;
if ($num < $this->nb_champ) {
$position = 32 + ($num*32);
$ligne = substr($this->contenu,$position,32);
// nom du champ
$tab["nom"] = substr($ligne,0,11);
$pos = strpos($tab["nom"],chr(0));
if ($pos === FALSE) {// nota trois ===
$pos=11;
}
$tab["nom"] = substr($tab["nom"],0,$pos);
//forme du champ
$tab["forme"] = substr($ligne,11,1);
// adresse du champ
$data= substr($ligne,12,4);

$tab["adresse"]=ord($data[0])+(ord($data[1])<<8)+(ord($data[2])<<16)+(ord($data[3])<<24);

//largeur du champ
$tab["largeur"] = ord(substr($ligne,16,1));
//largeur decimal du champ
$tab["decimal"] = ord(substr($ligne,17,1));
}
return $tab;
}
*/
// affectation d'un tableau qui contient le nom des champs
// on utilise en lecture $tab[nom_du_champ] directement
/*
function affect_champ_dbf() {
for ($i=0; $i < $this->nb_champ; $i++) {
$val = $this->carac_champ_dbf($i);
$this->nom_champ[$i]["nom"]=$val["nom"];
$this->nom_champ[$i]["forme"]=$val["forme"];
$this->nom_champ[$i]["adresse"]=$val["adresse"];
$this->nom_champ[$i]["largeur"]=$val["largeur"];
$this->nom_champ[$i]["decimal"]=$val["decimal"];
if ($i) {
$this->nom_champ[$i]["index"]=$this->nom_champ[$i-1]["index"] +
$this->nom_champ[$i-1]["largeur"];
}
else {
$this->nom_champ[$i]["index"]=0;
}
}
$this->affect = 1;
}
*/

function lect_reccord_sconet($num) {

$tab_caract = array(
chr(128)=>"Ç",
chr(129)=>"ü",
chr(130)=>"é",
chr(131)=>"â",
chr(132)=>"ä",
chr(133)=>"à",
chr(134)=>"å",
chr(135)=>"ç",
chr(136)=>"ê",
chr(137)=>"ë",
chr(138)=>"è",
chr(139)=>"ï",
chr(140)=>"î",
chr(141)=>"ì",
chr(142)=>"Ä",
chr(143)=>"Å",
chr(144)=>"É",
chr(145)=>"æ",
chr(146)=>"Æ",
chr(147)=>"ô",
chr(148)=>"ö",
chr(149)=>"ò",
chr(150)=>"û",
chr(151)=>"ù");

$ligne="";
// if (!$this->affect) {
// $this->affect_champ_dbf();
// }
if ($num < $this->nb_reccords) {
$ligne = $this->contenu[$num];
$ret = explode(";",$ligne);
// $position = $this->lg_entete + ( $this->lg_reccord * $num);
// $ligne = substr($this->contenu,$position,$this->lg_reccord);
// for ($i=0; $i < $this->nb_champ; $i++) {
// $contenu =
substr($ligne,$this->nom_champ[$i]["index"]+1,$this->nom_champ[$i]["largeur"]);
// echo "<br>contenu = $contenu";
// $contenu = trim(strtr($contenu, $tab_caract));
// $ret[$this->nom_champ[$i]["nom"]] = $contenu;
// echo "<br>contenu = $contenu";
// }
}
return($ret);
}
/*
function liste_champ_dbf() {
return ($this->nom_champ);
}
*/

} // fin déclaration de la classe



/* à conserver

//retour les code ASCII d'une chaine
function ascii_encode($string) {
for ($i=0; $i < strlen($string); $i++) {
$encoded .= '&'.ord(substr($string,$i)).';';
}
return $encoded;
}
//transfert d'un BDF dans la la viariable $contenu
// retourne la taille du fichier
function lecture_dbf($nom_fic)
{
$this->$lgfic=0;
if($fd = @fopen($nom_fic, "rb")) {
$this->lgfic =filesize ($nom_fic);
$this->contenu = fread($fd, filesize ($filename));
}
fclose($fd);
}

*/

?>

Par avance merci si quelqu'un peut me dépanner, Benoît GUY.
denisb
2007-09-15 16:38:37 UTC
Permalink
Post by Albenic
Parse error : parse error, unexpected T_STRING, expecting T_OLD_FUNCTION
or T_FUNCTION or T_VAR or '}' in
/home/www/html/lycee/moutiers/cdt/espace_perso/inc/fonction_sconet.php
on line 3
<?
class fic_sconet {
public $lgfic;
public $contenu;
[... etc ...]
Post by Albenic
fclose($fd);
}
*/
?>
"...expecting '}' in fonction_sconet.php on line 3 "


ton écriture de classe 'fic_sconet' n'est pas fermée.
il manque une '}' en fin, juste avant '?>'
--
@@@@@
E -00 comme on est very beaux dis !
' `) /
|\_ =="
Mickael Wolff
2007-09-16 09:39:33 UTC
Permalink
Post by Albenic
mais cette année suite à une mise à jour pour gérer les
nouveaux formats de fichiers contenant les données des élèves et des
professeurs cela ne fonctionne plus. J'ai fait la mise à jour nécessaire
et lorsque j'essaye d'importer le fichier contenant toutes les données
Parse error : parse error, unexpected T_STRING, expecting T_OLD_FUNCTION
or T_FUNCTION or T_VAR or '}' in
/home/www/html/lycee/moutiers/cdt/espace_perso/inc/fonction_sconet.php
on line 3
Ça ressemble furieusement à une incompatibilité avec l'application
écrite pour PHP5, et un PHP4 installé.

Faites un fichier phpinfo pour vous en assurer !
Post by Albenic
Je préfère être honnête : en php je n'y connais rien
Et vous installez une plate-forme basée sur PHP ? Je gagerais que les
cahiers de texte seront modifiés un jour prochain par un élève agile :p
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Albenic
2007-09-16 13:06:15 UTC
Permalink
Post by Mickael Wolff
Post by Albenic
mais cette année suite à une mise à jour pour gérer les
nouveaux formats de fichiers contenant les données des élèves et des
professeurs cela ne fonctionne plus. J'ai fait la mise à jour nécessaire
et lorsque j'essaye d'importer le fichier contenant toutes les données
Parse error : parse error, unexpected T_STRING, expecting T_OLD_FUNCTION
or T_FUNCTION or T_VAR or '}' in
/home/www/html/lycee/moutiers/cdt/espace_perso/inc/fonction_sconet.php
on line 3
Ça ressemble furieusement à une incompatibilité avec l'application
écrite pour PHP5, et un PHP4 installé.
Tout à fait, j'ai eu la même idée hier soir et tester ce matin avec mon
fichier info.php et effectivement, le serveur tourne avec php4 version
4.3.10-22.
Tant pis pour moi.
Post by Mickael Wolff
Faites un fichier phpinfo pour vous en assurer !
Post by Albenic
Je préfère être honnête : en php je n'y connais rien
Et vous installez une plate-forme basée sur PHP ? Je gagerais que les
cahiers de texte seront modifiés un jour prochain par un élève agile :p
J'ne ai bien conscience mais c'est une demande forte de mes chefs et des
chefs des chefs alors là je n'ai plus qu'à m'incliner...
Plus sérieusement, je ne vois pas l'intérêt pour un élève d'aller
trifouiller dans des fichiers qui ne parlent que ce ce qui a été fait en
classe et du travail à faire pour le lendemain.

Quoi qu'il en soit merci de votre aide, il ne me reste plus qu'à trouver
une autre solution pour un cahier de textes en ligne.
Bruno Desthuilliers
2007-09-16 20:12:11 UTC
Permalink
(snip)
Post by Albenic
Post by Mickael Wolff
Ça ressemble furieusement à une incompatibilité avec l'application
écrite pour PHP5, et un PHP4 installé.
Tout à fait, j'ai eu la même idée hier soir et tester ce matin avec mon
fichier info.php et effectivement, le serveur tourne avec php4 version
4.3.10-22.
(snip)
Post by Albenic
Quoi qu'il en soit merci de votre aide, il ne me reste plus qu'à trouver
une autre solution pour un cahier de textes en ligne.
Oui : installer php5. De toutes facons, php4 est officiellement mort et
enterré (cf php.net).
Albenic
2007-09-16 23:35:03 UTC
Permalink
Post by Bruno Desthuilliers
(snip)
Post by Albenic
Post by Mickael Wolff
Ça ressemble furieusement à une incompatibilité avec l'application
écrite pour PHP5, et un PHP4 installé.
Tout à fait, j'ai eu la même idée hier soir et tester ce matin avec
mon fichier info.php et effectivement, le serveur tourne avec php4
version 4.3.10-22.
(snip)
Post by Albenic
Quoi qu'il en soit merci de votre aide, il ne me reste plus qu'à
trouver une autre solution pour un cahier de textes en ligne.
Oui : installer php5. De toutes facons, php4 est officiellement mort et
enterré (cf php.net).
Certes, je le sais bien mais ce n'est pas moi qui gère le serveur de
l'académie....

Continuer la lecture sur narkive:
Loading...