Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema mkdir :(

Estas en el tema de problema mkdir :( en el foro de PHP en Foros del Web. mi problema es el siguiente tengo que crear una serie de carpetas dentro de un directorio "x" con el nombre de la fecha para que ...
  #1 (permalink)  
Antiguo 17/04/2015, 17:32
 
Fecha de Ingreso: abril-2015
Mensajes: 27
Antigüedad: 9 años
Puntos: 1
Pregunta problema mkdir :(

mi problema es el siguiente tengo que crear una serie de carpetas dentro de un directorio "x" con el nombre de la fecha para que sea ordenado y mas simple de buscar, cuando relleno el formulario y la primera ves que lo envió, el código funciona correcto, el problema es cuando relleno el mismo formulario con otros datos, este me manda un error diciendo:

( ! ) Warning: mkdir(): File exists in x:\server\pag\url\index.php on line 35
Call Stack
# Time Memory Function Location
1 0.0020 147440 {main}( ) ..\index.php:0
2 0.0020 148616 mkdir ( ) ..\index.php:35


si elimino la carpeta el crea carpetas archivo se guarda nuevamente y sin errores

ya probé con las variables de mkdir como "-p" y "/a" que se suponen que soluciona el problema pero aun asi me manda error

el codigo por si alguien sabe que hacer

Código PHP:
mkdir("formularios/$fecha") ;
$archivo=fopen("formulario/$fecha/$nombre.txt""w");
fwrite($archivo,$contenido); 
  #2 (permalink)  
Antiguo 18/04/2015, 08:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema mkdir :(

A ver, antes de usar crear un directorio debes verificar que no exista, el error que obtienes es porque siempre usas mkdir() aunque el directorio ya existe.

Cita:
ya probé con las variables de mkdir como "-p" y "/a" que se suponen que soluciona el problema pero aun asi me manda error
Sí, pero eso es a nivel linea de comandos, no a nivel de la función mkdir() de PHP.

Al menos deberías consultar el manual para que sepas que hacer.

¿O sí sabes usar condiciones lógicas?

Usa is_dir() para verificar el directorio antes, si no existe, entonces ya puedes crearlo:

Código PHP:
Ver original
  1. if (!is_dir($x)) {
  2.   mkdir($x);
  3. }

Sentido común por favor.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/04/2015, 12:44
Avatar de DeivisAndres  
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 2 meses
Puntos: 41
Respuesta: problema mkdir :(

Es como dice @pateketrueke, si el debes de validar el directorio, verifícate el manual de la función: mkdir
  #4 (permalink)  
Antiguo 20/04/2015, 14:37
 
Fecha de Ingreso: abril-2015
Mensajes: 27
Antigüedad: 9 años
Puntos: 1
Respuesta: problema mkdir :(

lo hice de todas las formas, probé con la solución aun así me mandaba error, creo que con mkdir no se puede, solo deja crear carpetas diferentes pero no guarda la info dentro de una carpeta ya creada
  #5 (permalink)  
Antiguo 20/04/2015, 14:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema mkdir :(

Cita:
Iniciado por ariki Ver Mensaje
lo hice de todas las formas, probé con la solución aun así me mandaba error, creo que con mkdir no se puede, solo deja crear carpetas diferentes pero no guarda la info dentro de una carpeta ya creada
Claro que se puede.

Por favor, muestra el código completo para ver que haces mal.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 20/04/2015, 14:41
 
Fecha de Ingreso: julio-2010
Mensajes: 158
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: problema mkdir :(

Código PHP:
Ver original
  1. if (!is_dir("formularios/$fecha")) {
  2. mkdir("formularios/$fecha") ;
  3. }
  4. $archivo=fopen("formulario/$fecha/$nombre.txt", "w");
  5. fwrite($archivo,$contenido);

Probaste así?
  #7 (permalink)  
Antiguo 20/04/2015, 14:46
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: problema mkdir :(

El error que publicas es por que intentas crear un directorio que ya existe. Necesitas validar que no exista antes de intentar crearlo.
Mira el ejemplo de pateketrueke te sirve de base para lo que requieres
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #8 (permalink)  
Antiguo 20/04/2015, 15:13
 
Fecha de Ingreso: abril-2015
Mensajes: 27
Antigüedad: 9 años
Puntos: 1
Respuesta: problema mkdir :(

ok gracias a todos lo solucione igual era un error de sintaxis en otra parte desde donde se enviaba el formulario

Etiquetas: fecha, formulario, mkdir, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




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