2011-03-08 20 views
5

Hola recientemente me he enfrentado a este problema pero pude solucionarlo. En realidad error ortográfico en el camino. Quiero saber cómo manejar estos errores correctamente. es decir, mi programa debería continuar ejecutándose y debería devolver un falso de forma segura si mkdir falla. Este es mi códigoAdvertencia (2): mkdir() [function.mkdir]: No existe ningún archivo o directorio

try 
{ 
    foreach($folders as $folder) 
    { 
     $path = $path.'/'.$folder;  
     if(!file_exists($path)) 
     { 
      if(!(mkdir($path))) 
      { 
       return false; 
      } 
     } 
    } 
    return true; 
} 
catch (Exception $e){ 
    return false; 
} 

Solo quiero si mkdir no puede crearlo. Debería devolver un falso y la ejecución debería continuar

EDIT: Aquí está el código actualizado en función de los comentarios de la comunidad. Pero todavía no hay una respuesta adecuada a mi pregunta

if(!file_exists($newfolder)) 
{ 
    if(mkdir($newfolder,0755,true)) 
    { 
       return true; 
    } 
} 
+3

¿Qué pasa con el try-catch? Nada aquí podría arrojar una excepción. – BoltClock

+0

ya me di cuenta más tarde – aWebDeveloper

Respuesta

5

¿Está buscando setting the recursive flag to true?

<?php 
// Desired folder structure 
$structure = './depth1/depth2/depth3/'; 

// To create the nested structure, the $recursive parameter 
// to mkdir() must be specified. 

if (!mkdir($structure, 0, true)) { 
    die('Failed to create folders...'); 
} 

// ... 
?> 
+0

i justed lo editó. No tengo prolem si mkdir falis pero la ejecución debe continuar tiene que devolver un falso - – aWebDeveloper

1

Parece que la función no es recursiva. Tendrá que crear todo el árbol de directorios, hasta su directorio que desee crear. Lee here. Como dijo Sarnold, simplemente establezca el argumento recursivo como verdadero.

+0

lo jed editado. No tengo prolem si mkdir falis pero la ejecución debe continuar tiene que devolver un falso – aWebDeveloper

Cuestiones relacionadas