Foros del Web » Programando para Internet » PHP »

opendir caracteres especiales

Estas en el tema de opendir caracteres especiales en el foro de PHP en Foros del Web. Buenas, De antemano ya avanzo que soy conocedora que no se deberían crear nombres de directorios con carácteres especiales, pero la empresa tiene un aplicativo ...
  #1 (permalink)  
Antiguo 11/01/2019, 04:56
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 546
Antigüedad: 17 años, 5 meses
Puntos: 4
opendir caracteres especiales

Buenas,
De antemano ya avanzo que soy conocedora que no se deberían crear nombres de directorios con carácteres especiales, pero la empresa tiene un aplicativo que los crea, así que no puedo avitarlo.
Bien, tengo el siguiente problema. Este código me da error, no encuentra el directorio, sé que es por el carácter &:
Código PHP:
Ver original
  1. $sc = 9999-99;
  2. $cliente = "P&P aaaa";
  3. $carpeta = "../MAQUINAS/".$sc."-".$cliente."/INFO COMERCIAL/";
  4. $carpeta=opendir($carpeta);

En cambio, si lo pongo directamente, funciona, es decir:
Código PHP:
Ver original
  1. $carpeta=opendir("../MAQUINAS/9999-99-P&P aaa/INFO COMERCIAL/";);

He probado con assignar el valor a la variable con utf8_encode, htmlentities y nada.
Alguna sugerencia?

Muchas gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 11/01/2019, 09:25
 
Fecha de Ingreso: abril-2006
Mensajes: 257
Antigüedad: 13 años, 1 mes
Puntos: 39
Respuesta: opendir caracteres especiales

Cita:
Iniciado por mblascog Ver Mensaje
Buenas,

Código PHP:
Ver original
  1. $sc = 9999-99;
  2. $cliente = "P&P aaaa";

He probado con assignar el valor a la variable con utf8_encode, htmlentities y nada.
Alguna sugerencia?

Muchas gracias
, ejheeje tu error es que tu variable $sc le estan dando a restar 9999 menos 99 y el resultado es 9900 y eso es convertido a string, recuerda que PHP trata de identificar la variable, asi que si no quieres ese tipo de errores, obliga a que sea un STRING,

luego con respecto a los caracteres especiales, WINDOWS codifica con "windows 1250" si mal no recuerdo, es parecido al ANSI excepto que tiene menos caracteres o MAS ya no recuerdo bien, pero el asunto es que si manejas acentos, o directorios con acentos, estos los codifiques a ANSI , php maneja UTF8 en versiones php 7 en adelante y como opcional lo tiene en la version 5.4, ten en cuenta ello
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.me/pools/c/87BTML2gwr



La zona horaria es GMT -6. Ahora son las 04:57.