par
fission » 17 sept. 2009, 11:41
Salut a tous,
j'ai un soucis avec le code suivant :
function fileAdd ()
{
global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
xoops_cp_header();
echo"<table width='100%' class='outer' cellspacing='1'><tr><th colspan='2'>"._MD_MENU_FILE."</TH></tr>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'>";
echo "file : ".$_FILE['userfile']."<BR>";
echo "post : ".$_POST['userfile']."<BR>";
echo "get : ".$_GET['userfile']."<BR>";
echo "request : ".$_REQUEST['userfile']."<BR>";
if (isset($_FILE['userfile']))
{
$userfile = $_FILE["userfile"];
if (copy($userfile,$userfile_name))
{
echo "<p>Le fichier a été copier avec succès !</p><BR>";
echo "poursuite du traitement<BR>";
$zoom='15';
$status='1';
$filename=$userfile_name;
$dom = new DOMDocument();
if (!$dom->load("$filename")) {
echo "Erreur lors du parsing du document xml $filename\n";
exit;
}
if (!$handle = fopen($filename, "r"))
{
echo "Erreur d'ouverture du fichier $filename pour écriture";
exit;
}
// On parse le xml pour extraire le nom du Parcours
// <PROFIL_NOM>(Défaut)</PROFIL_NOM>
$elementnom=$dom->getelementsbytagname("PROFIL_NOM");
$nodenom=$elementnom->item(0);
$textenom=$nodenom->textContent;
// on teste si le nom est différent de défault
if ($textenom == '(Défaut)') {
$lastdot=strrpos ( $filename, ".");
$name=substr($filename, $lastdot);
} else {
$name=$textenom;
}
unset($elementnom, $nodenom, $textenom);
// On parse le xml pour extraire l EMPRISE
// <EMPRISE>48.862381,2.288442,48.836777,2.368047</EMPRISE>
$elementemprise=$dom->getelementsbytagname("EMPRISE");
$nodeemprise=$elementemprise->item(0);
$texteemprise=$nodeemprise->textContent;
// on extrait de l'emprise les latitudes et longitudes
$emp = explode(",", $texteemprise);
$emp1=$emp[1];
$emp2=$emp[0];
// on recup l'ancien map_id de la category googlemap
$recupmapid->mysql_query("SELECT max(map_id) FROM xoops_gmap_category");
$r = mysql_fetch_array($recupmapid);
$map_id=$r['id']+1;
//on recup l'ancien order de category
$recuporder->mysql_query("SELECT max(order) FROM xoops_gmap_category where map_id='$map_id'");
$s = mysql_fetch_array($recuporder);
$order=$s['id']+1;
// on recup l'ancien id des plots
$recuppid->mysql_query("SELECT max(id) FROM xoops_gmap_pl");
$t = mysql_fetch_array($recuppid);
$p_id=$t['id'];
// on insere les infos dans la catégorie
$category = "INSERT INTO xoops_gmap_category (name,lon,lat,zoom,active,order) VALUES ('$name','$emp2','$emp1','$zoom','$status','$order')";
unset($elementemprise, $nodeemprise, $texteemprise);
// On parse le xml pour extraire les ETAPES
// <ETAPE>
// <POSITION>48.860538,2.290330</POSITION>
// <ALTITUDE>32.500000</ALTITUDE>
// <ETAPE_REMARQUABLE>1</ETAPE_REMARQUABLE> // C'est le point d'une pause
// </ETAPE>
$elementsetapes=$dom->getelementsbytagname("ETAPE");
$i=-1;
$recupid->mysql_query("SELECT max(id) FROM xoops_gmap_points");
$q = mysql_fetch_array($recupid);
$id=$q['id']+1;
// on fait ue boucle pour les etapes-points
foreach ( $elementsetapes as $elementetape )
{
$i++;
$p_id++;
// On lit les elements de l étape: POSITION, ALTITUDE, REMARQ.
$position=$elementetape->getelementsbytagname("POSITION")->item(0)->textContent;
// On déclare les variables nécéssaires pour les points
$cmpt=$i+1;
$titlepoint=$cmpt;
$htmlpoint=$cmpt;
$submitterpoint='1';
$datepoint = time();
$orderpoint=$cmpt;
$activepl='1';
$coordonneesetape = explode(",", $position);
$lon=$coordonneesetape[0];
$lat=$coordonneesetape[1];
$pid=$p_id+1;
// On insere les points des etapes
$points = "INSERT INTO xoops_gmap_points (map_id,lat,lon,title,html,zoom,submitter,status,date,order) VALUES
('$id','$map_id','$lat','$lon','$titlepoint','$htmlpoint','$zoom','$submitterpoint','$status','$datepoint','$orderpoint')";
// on insere les plots
$pl = "INSERT INTO xoops_gmap_pl (id,map_id,point_id1,point_id2,active) VALUES ('$p_id','$map_id','$p_id','$pid','$activepl')";
}
// fin de la boucle sur les étapes
unset($elementsetapes, $position, $elementetape);
echo "fichier".$filename."uploadé";
xoops_cp_footer();
exit();
}
else
{
echo "<p>Erreur lors de la copie !</p>";
xoops_cp_footer();
exit();
}
Echo "Fin du traitement";
}
else
{
echo "<form name='userfile' method=post ENCTYPE='multipart/form-data' action='index.php?op=fileAdd'>\n";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='300000'>";
echo "<p>"._MD_ADD_TEXT.":";
echo "<input type=file name=userfile size=20>";
echo "</p>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'><input type='submit' class='formButton' name='post' id='post' value='"._MD_ADD_FILE."' accesskey=\"s\" /></form></td></tr></table>";
xoops_cp_footer();
}
}
c'est un morceau de code que j'ajoute au module google maps 0.83 sur mon xoops 2.2.4 afin de pouvoir créer des itinéraires a partir de mes fichiers IGN rando. Malheureusement l'upload ne fonctionne pas ( je fini direct avec le message" Erreur lors de la copie" et mon fichier ne s'upload pas :'( dans cette version de script alors que cela fonctionne ( sauf les appels mysql puisque je ne renseigne pas la base :p )si je fait ca :
function fileAdd ()
{
global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
xoops_cp_header();
echo"<table width='100%' class='outer' cellspacing='1'><tr><th colspan='2'>"._MD_MENU_FILE."</TH></tr>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'>";
echo "<form name='userfile' method=post ENCTYPE='multipart/form-data' action='fichier.php'>\n";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='300000'>";
echo "<p>"._MD_ADD_TEXT.":";
echo "<input type=file name=userfile size=20>";
echo "</p>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'><input type='submit' class='formButton' name='post' id='post' value='"._MD_ADD_FILE."' accesskey=\"s\" /></form></td></tr></table>";
xoops_cp_footer();
}
et que je créer un fichier fichier.php avec :
<?php
if (isset($_FILE['userfile']))
{
$userfile = $_FILE["userfile"];
if (copy($userfile,$userfile_name))
{
echo "<p>Le fichier a été copier avec succès !</p><BR>";
echo "poursuite du traitement<BR>";
$zoom='15';
$status='1';
$filename=$userfile_name;
$dom = new DOMDocument();
if (!$dom->load("$filename")) {
echo "Erreur lors du parsing du document xml $filename\n";
exit;
}
if (!$handle = fopen($filename, "r"))
{
echo "Erreur d'ouverture du fichier $filename pour écriture";
exit;
}
// On parse le xml pour extraire le nom du Parcours
// <PROFIL_NOM>(Défaut)</PROFIL_NOM>
$elementnom=$dom->getelementsbytagname("PROFIL_NOM");
$nodenom=$elementnom->item(0);
$textenom=$nodenom->textContent;
// on teste si le nom est différent de défault
if ($textenom == '(Défaut)') {
$lastdot=strrpos ( $filename, ".");
$name=substr($filename, $lastdot);
} else {
$name=$textenom;
}
unset($elementnom, $nodenom, $textenom);
// On parse le xml pour extraire l EMPRISE
// <EMPRISE>48.862381,2.288442,48.836777,2.368047</EMPRISE>
$elementemprise=$dom->getelementsbytagname("EMPRISE");
$nodeemprise=$elementemprise->item(0);
$texteemprise=$nodeemprise->textContent;
// on extrait de l'emprise les latitudes et longitudes
$emp = explode(",", $texteemprise);
$emp1=$emp[1];
$emp2=$emp[0];
// on recup l'ancien map_id de la category googlemap
$recupmapid->mysql_query("SELECT max(map_id) FROM xoops_gmap_category");
$r = mysql_fetch_array($recupmapid);
$map_id=$r['id']+1;
//on recup l'ancien order de category
$recuporder->mysql_query("SELECT max(order) FROM xoops_gmap_category where map_id='$map_id'");
$s = mysql_fetch_array($recuporder);
$order=$s['id']+1;
// on recup l'ancien id des plots
$recuppid->mysql_query("SELECT max(id) FROM xoops_gmap_pl");
$t = mysql_fetch_array($recuppid);
$p_id=$t['id'];
// on insere les infos dans la catégorie
$category = "INSERT INTO xoops_gmap_category (name,lon,lat,zoom,active,order) VALUES ('$name','$emp2','$emp1','$zoom','$status','$order')";
unset($elementemprise, $nodeemprise, $texteemprise);
// On parse le xml pour extraire les ETAPES
// <ETAPE>
// <POSITION>48.860538,2.290330</POSITION>
// <ALTITUDE>32.500000</ALTITUDE>
// <ETAPE_REMARQUABLE>1</ETAPE_REMARQUABLE> // C'est le point d'une pause
// </ETAPE>
$elementsetapes=$dom->getelementsbytagname("ETAPE");
$i=-1;
$recupid->mysql_query("SELECT max(id) FROM xoops_gmap_points");
$q = mysql_fetch_array($recupid);
$id=$q['id']+1;
// on fait ue boucle pour les etapes-points
foreach ( $elementsetapes as $elementetape )
{
$i++;
$p_id++;
// On lit les elements de l étape: POSITION, ALTITUDE, REMARQ.
$position=$elementetape->getelementsbytagname("POSITION")->item(0)->textContent;
// On déclare les variables nécéssaires pour les points
$cmpt=$i+1;
$titlepoint=$cmpt;
$htmlpoint=$cmpt;
$submitterpoint='1';
$datepoint = time();
$orderpoint=$cmpt;
$activepl='1';
$coordonneesetape = explode(",", $position);
$lon=$coordonneesetape[0];
$lat=$coordonneesetape[1];
$pid=$p_id+1;
// On insere les points des etapes
$points = "INSERT INTO xoops_gmap_points (map_id,lat,lon,title,html,zoom,submitter,status,date,order) VALUES
('$id','$map_id','$lat','$lon','$titlepoint','$htmlpoint','$zoom','$submitterpoint','$status','$datepoint','$orderpoint')";
// on insere les plots
$pl = "INSERT INTO xoops_gmap_pl (id,map_id,point_id1,point_id2,active) VALUES ('$p_id','$map_id','$p_id','$pid','$activepl')";
}
// fin de la boucle sur les étapes
unset($elementsetapes, $position, $elementetape);
echo "fichier".$filename."uploadé";
exit();
}
else
{
echo "<p>Erreur lors de la copie !</p>";
exit();
}
Echo "Fin du traitement";
}
?>
Si quelqu'un avait la bonté de m'aider pour débugger ma fonction fileAdd, ca me retirerait une sacré épine du pied !!
PS : le phpinfo me réponds :
Code : Tout sélectionner
PHP Version 5.2.8
System Linux imu141 2.6.27.30-imu-x86 #1 SMP Mon Aug 24 15:57:17 CEST 2009 i686
Build Date Feb 16 2009 11:24:58
Server API Apache 2.0 Handler
Virtual Directory Support enabled
Configuration File (php.ini) Path /opt/php/lib
Loaded Configuration File /opt/php/lib/php.ini
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib, https, ftps, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, zlib.*, http.*
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with the ionCube PHP Loader v3.1.32, Copyright (c) 2002-2007, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
--------------------------------------------------------------------------------
Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference Off Off
allow_url_fopen Off Off
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap /opt/php/lib/php/browscap.ini /opt/php/lib/php/browscap.ini
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
detect_unicode On On
disable_classes no value no value
disable_functions set_time_limit,passthru,exec,system,popen,shell_exec,proc_open set_time_limit,passthru,exec,system,popen,shell_exec,proc_open
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl Off Off
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 6135 6135
expose_php Off Off
extension_dir /opt/php/lib/php/extensions/no-debug-zts-20060613/ /opt/php/lib/php/extensions/no-debug-zts-20060613/
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/opt/php/lib/php .:/opt/php/lib/php
log_errors On On
log_errors_max_len 1024 1024
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 10 10
max_input_nesting_level 64 64
max_input_time 10 10
memory_limit 48M 16M
open_basedir /home/www/f08b3d4694b3cc2ac1c428fe153f46b3:/tmp:/opt/php/lib/php no value
output_buffering 20480 20480
output_handler no value no value
post_max_size 48M 48M
precision 14 14
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv Off Off
register_globals On On
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail_r -t -i -fwebmaster@************.org /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 48M 48M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off
Salut a tous,
j'ai un soucis avec le code suivant :
[php]function fileAdd ()
{
global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
xoops_cp_header();
echo"<table width='100%' class='outer' cellspacing='1'><tr><th colspan='2'>"._MD_MENU_FILE."</TH></tr>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'>";
echo "file : ".$_FILE['userfile']."<BR>";
echo "post : ".$_POST['userfile']."<BR>";
echo "get : ".$_GET['userfile']."<BR>";
echo "request : ".$_REQUEST['userfile']."<BR>";
if (isset($_FILE['userfile']))
{
$userfile = $_FILE["userfile"];
if (copy($userfile,$userfile_name))
{
echo "<p>Le fichier a été copier avec succès !</p><BR>";
echo "poursuite du traitement<BR>";
$zoom='15';
$status='1';
$filename=$userfile_name;
$dom = new DOMDocument();
if (!$dom->load("$filename")) {
echo "Erreur lors du parsing du document xml $filename\n";
exit;
}
if (!$handle = fopen($filename, "r"))
{
echo "Erreur d'ouverture du fichier $filename pour écriture";
exit;
}
// On parse le xml pour extraire le nom du Parcours
// <PROFIL_NOM>(Défaut)</PROFIL_NOM>
$elementnom=$dom->getelementsbytagname("PROFIL_NOM");
$nodenom=$elementnom->item(0);
$textenom=$nodenom->textContent;
// on teste si le nom est différent de défault
if ($textenom == '(Défaut)') {
$lastdot=strrpos ( $filename, ".");
$name=substr($filename, $lastdot);
} else {
$name=$textenom;
}
unset($elementnom, $nodenom, $textenom);
// On parse le xml pour extraire l EMPRISE
// <EMPRISE>48.862381,2.288442,48.836777,2.368047</EMPRISE>
$elementemprise=$dom->getelementsbytagname("EMPRISE");
$nodeemprise=$elementemprise->item(0);
$texteemprise=$nodeemprise->textContent;
// on extrait de l'emprise les latitudes et longitudes
$emp = explode(",", $texteemprise);
$emp1=$emp[1];
$emp2=$emp[0];
// on recup l'ancien map_id de la category googlemap
$recupmapid->mysql_query("SELECT max(map_id) FROM xoops_gmap_category");
$r = mysql_fetch_array($recupmapid);
$map_id=$r['id']+1;
//on recup l'ancien order de category
$recuporder->mysql_query("SELECT max(order) FROM xoops_gmap_category where map_id='$map_id'");
$s = mysql_fetch_array($recuporder);
$order=$s['id']+1;
// on recup l'ancien id des plots
$recuppid->mysql_query("SELECT max(id) FROM xoops_gmap_pl");
$t = mysql_fetch_array($recuppid);
$p_id=$t['id'];
// on insere les infos dans la catégorie
$category = "INSERT INTO xoops_gmap_category (name,lon,lat,zoom,active,order) VALUES ('$name','$emp2','$emp1','$zoom','$status','$order')";
unset($elementemprise, $nodeemprise, $texteemprise);
// On parse le xml pour extraire les ETAPES
// <ETAPE>
// <POSITION>48.860538,2.290330</POSITION>
// <ALTITUDE>32.500000</ALTITUDE>
// <ETAPE_REMARQUABLE>1</ETAPE_REMARQUABLE> // C'est le point d'une pause
// </ETAPE>
$elementsetapes=$dom->getelementsbytagname("ETAPE");
$i=-1;
$recupid->mysql_query("SELECT max(id) FROM xoops_gmap_points");
$q = mysql_fetch_array($recupid);
$id=$q['id']+1;
// on fait ue boucle pour les etapes-points
foreach ( $elementsetapes as $elementetape )
{
$i++;
$p_id++;
// On lit les elements de l étape: POSITION, ALTITUDE, REMARQ.
$position=$elementetape->getelementsbytagname("POSITION")->item(0)->textContent;
// On déclare les variables nécéssaires pour les points
$cmpt=$i+1;
$titlepoint=$cmpt;
$htmlpoint=$cmpt;
$submitterpoint='1';
$datepoint = time();
$orderpoint=$cmpt;
$activepl='1';
$coordonneesetape = explode(",", $position);
$lon=$coordonneesetape[0];
$lat=$coordonneesetape[1];
$pid=$p_id+1;
// On insere les points des etapes
$points = "INSERT INTO xoops_gmap_points (map_id,lat,lon,title,html,zoom,submitter,status,date,order) VALUES
('$id','$map_id','$lat','$lon','$titlepoint','$htmlpoint','$zoom','$submitterpoint','$status','$datepoint','$orderpoint')";
// on insere les plots
$pl = "INSERT INTO xoops_gmap_pl (id,map_id,point_id1,point_id2,active) VALUES ('$p_id','$map_id','$p_id','$pid','$activepl')";
}
// fin de la boucle sur les étapes
unset($elementsetapes, $position, $elementetape);
echo "fichier".$filename."uploadé";
xoops_cp_footer();
exit();
}
else
{
echo "<p>Erreur lors de la copie !</p>";
xoops_cp_footer();
exit();
}
Echo "Fin du traitement";
}
else
{
echo "<form name='userfile' method=post ENCTYPE='multipart/form-data' action='index.php?op=fileAdd'>\n";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='300000'>";
echo "<p>"._MD_ADD_TEXT.":";
echo "<input type=file name=userfile size=20>";
echo "</p>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'><input type='submit' class='formButton' name='post' id='post' value='"._MD_ADD_FILE."' accesskey=\"s\" /></form></td></tr></table>";
xoops_cp_footer();
}
}
[/php]
c'est un morceau de code que j'ajoute au module google maps 0.83 sur mon xoops 2.2.4 afin de pouvoir créer des itinéraires a partir de mes fichiers IGN rando. Malheureusement l'upload ne fonctionne pas ( je fini direct avec le message" Erreur lors de la copie" et mon fichier ne s'upload pas :'( dans cette version de script alors que cela fonctionne ( sauf les appels mysql puisque je ne renseigne pas la base :p )si je fait ca :
[php]
function fileAdd ()
{
global $xoopsDB, $xoopsModule, $xoopsModuleConfig;
xoops_cp_header();
echo"<table width='100%' class='outer' cellspacing='1'><tr><th colspan='2'>"._MD_MENU_FILE."</TH></tr>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'>";
echo "<form name='userfile' method=post ENCTYPE='multipart/form-data' action='fichier.php'>\n";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='300000'>";
echo "<p>"._MD_ADD_TEXT.":";
echo "<input type=file name=userfile size=20>";
echo "</p>";
echo "<tr valign='top' align='left'><td class='head'></td><td class='even'><input type='submit' class='formButton' name='post' id='post' value='"._MD_ADD_FILE."' accesskey=\"s\" /></form></td></tr></table>";
xoops_cp_footer();
}
[/php]
et que je créer un fichier fichier.php avec :
[php]
<?php
if (isset($_FILE['userfile']))
{
$userfile = $_FILE["userfile"];
if (copy($userfile,$userfile_name))
{
echo "<p>Le fichier a été copier avec succès !</p><BR>";
echo "poursuite du traitement<BR>";
$zoom='15';
$status='1';
$filename=$userfile_name;
$dom = new DOMDocument();
if (!$dom->load("$filename")) {
echo "Erreur lors du parsing du document xml $filename\n";
exit;
}
if (!$handle = fopen($filename, "r"))
{
echo "Erreur d'ouverture du fichier $filename pour écriture";
exit;
}
// On parse le xml pour extraire le nom du Parcours
// <PROFIL_NOM>(Défaut)</PROFIL_NOM>
$elementnom=$dom->getelementsbytagname("PROFIL_NOM");
$nodenom=$elementnom->item(0);
$textenom=$nodenom->textContent;
// on teste si le nom est différent de défault
if ($textenom == '(Défaut)') {
$lastdot=strrpos ( $filename, ".");
$name=substr($filename, $lastdot);
} else {
$name=$textenom;
}
unset($elementnom, $nodenom, $textenom);
// On parse le xml pour extraire l EMPRISE
// <EMPRISE>48.862381,2.288442,48.836777,2.368047</EMPRISE>
$elementemprise=$dom->getelementsbytagname("EMPRISE");
$nodeemprise=$elementemprise->item(0);
$texteemprise=$nodeemprise->textContent;
// on extrait de l'emprise les latitudes et longitudes
$emp = explode(",", $texteemprise);
$emp1=$emp[1];
$emp2=$emp[0];
// on recup l'ancien map_id de la category googlemap
$recupmapid->mysql_query("SELECT max(map_id) FROM xoops_gmap_category");
$r = mysql_fetch_array($recupmapid);
$map_id=$r['id']+1;
//on recup l'ancien order de category
$recuporder->mysql_query("SELECT max(order) FROM xoops_gmap_category where map_id='$map_id'");
$s = mysql_fetch_array($recuporder);
$order=$s['id']+1;
// on recup l'ancien id des plots
$recuppid->mysql_query("SELECT max(id) FROM xoops_gmap_pl");
$t = mysql_fetch_array($recuppid);
$p_id=$t['id'];
// on insere les infos dans la catégorie
$category = "INSERT INTO xoops_gmap_category (name,lon,lat,zoom,active,order) VALUES ('$name','$emp2','$emp1','$zoom','$status','$order')";
unset($elementemprise, $nodeemprise, $texteemprise);
// On parse le xml pour extraire les ETAPES
// <ETAPE>
// <POSITION>48.860538,2.290330</POSITION>
// <ALTITUDE>32.500000</ALTITUDE>
// <ETAPE_REMARQUABLE>1</ETAPE_REMARQUABLE> // C'est le point d'une pause
// </ETAPE>
$elementsetapes=$dom->getelementsbytagname("ETAPE");
$i=-1;
$recupid->mysql_query("SELECT max(id) FROM xoops_gmap_points");
$q = mysql_fetch_array($recupid);
$id=$q['id']+1;
// on fait ue boucle pour les etapes-points
foreach ( $elementsetapes as $elementetape )
{
$i++;
$p_id++;
// On lit les elements de l étape: POSITION, ALTITUDE, REMARQ.
$position=$elementetape->getelementsbytagname("POSITION")->item(0)->textContent;
// On déclare les variables nécéssaires pour les points
$cmpt=$i+1;
$titlepoint=$cmpt;
$htmlpoint=$cmpt;
$submitterpoint='1';
$datepoint = time();
$orderpoint=$cmpt;
$activepl='1';
$coordonneesetape = explode(",", $position);
$lon=$coordonneesetape[0];
$lat=$coordonneesetape[1];
$pid=$p_id+1;
// On insere les points des etapes
$points = "INSERT INTO xoops_gmap_points (map_id,lat,lon,title,html,zoom,submitter,status,date,order) VALUES
('$id','$map_id','$lat','$lon','$titlepoint','$htmlpoint','$zoom','$submitterpoint','$status','$datepoint','$orderpoint')";
// on insere les plots
$pl = "INSERT INTO xoops_gmap_pl (id,map_id,point_id1,point_id2,active) VALUES ('$p_id','$map_id','$p_id','$pid','$activepl')";
}
// fin de la boucle sur les étapes
unset($elementsetapes, $position, $elementetape);
echo "fichier".$filename."uploadé";
exit();
}
else
{
echo "<p>Erreur lors de la copie !</p>";
exit();
}
Echo "Fin du traitement";
}
?>
[/php]
Si quelqu'un avait la bonté de m'aider pour débugger ma fonction fileAdd, ca me retirerait une sacré épine du pied !!
PS : le phpinfo me réponds :
[code]
PHP Version 5.2.8
System Linux imu141 2.6.27.30-imu-x86 #1 SMP Mon Aug 24 15:57:17 CEST 2009 i686
Build Date Feb 16 2009 11:24:58
Server API Apache 2.0 Handler
Virtual Directory Support enabled
Configuration File (php.ini) Path /opt/php/lib
Loaded Configuration File /opt/php/lib/php.ini
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib, https, ftps, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, zlib.*, http.*
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with the ionCube PHP Loader v3.1.32, Copyright (c) 2002-2007, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
--------------------------------------------------------------------------------
Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference Off Off
allow_url_fopen Off Off
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap /opt/php/lib/php/browscap.ini /opt/php/lib/php/browscap.ini
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
detect_unicode On On
disable_classes no value no value
disable_functions set_time_limit,passthru,exec,system,popen,shell_exec,proc_open set_time_limit,passthru,exec,system,popen,shell_exec,proc_open
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl Off Off
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 6135 6135
expose_php Off Off
extension_dir /opt/php/lib/php/extensions/no-debug-zts-20060613/ /opt/php/lib/php/extensions/no-debug-zts-20060613/
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/opt/php/lib/php .:/opt/php/lib/php
log_errors On On
log_errors_max_len 1024 1024
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 10 10
max_input_nesting_level 64 64
max_input_time 10 10
memory_limit 48M 16M
open_basedir /home/www/f08b3d4694b3cc2ac1c428fe153f46b3:/tmp:/opt/php/lib/php no value
output_buffering 20480 20480
output_handler no value no value
post_max_size 48M 48M
precision 14 14
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv Off Off
register_globals On On
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail_r -t -i -fwebmaster@************.org /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 48M 48M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off
[/code]