Se vuelve a algo que se repite siempre, una cosa es el servidor de pruebas y otra muy distinta el de producción. En el de prueba se muestran todos los mensajes, en el de producción ninguno y todo depende del manejo interno de tu programa.
Con esto lo que quiero decir que tenes 3 opciones, seteas el reporte de errores para que no tire la adventencia (error_reporting), usas un bloque para manejo de errores (try/catch) y aplicas una función de manejo de errores.
Supongamos que aplicamos la segunda:
Código PHP:
function obtenerdatos($dato){
try {
$xml=file_get_contents('http://localhost/pagina2/datos.xml?objeto=12'.$dato);
if ($xml)
{//correcto
if (preg_match('/precio>(.*)</',$xml,$match)!=0)
{
$count = $match[1];
return $count;
}
}
else
{
return 0;
}
}catch (Exception $e) {
echo 'Error: ', $e->getMessage(), "\n";
return false;
}
En el caso de la primera:
Código PHP:
function obtenerdatos($dato){
$level = error_reporting(E_NONE);
$xml=file_get_contents('http://localhost/pagina2/datos.xml?objeto=12'.$dato);
if ($xml)
{//correcto
if (preg_match('/precio>(.*)</',$xml,$match)!=0)
{
$count = $match[1];
error_reporting($level);
return $count;
}
}
else
{
error_reporting($level);
return 0;
}