2011-03-08 21 views
5

Bu problemle son zamanlarda karşılaştım ama düzeltmeyi başardım. Aslında yazımda yanlış heceleme. Bu hatayı nasıl ele alacağımı bilmek istiyorum. Programım yürütmeye devam etmeli ve eğer mkdir başarısız olursa güvenli bir şekilde geri dönmelidir. Bu benim kodumUyarı (2): mkdir() [function.mkdir]: Böyle bir dosya ya da dizin yok

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

Sadece mkdir'in onu oluşturamıyorsa istiyorum. Bir yanlış döndürmeli ve yürütme işlemi devam etmelidir

EDIT: Burada, topluluk geri bildirimi temelinde kod güncellendi. Ama yine de sorumu

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

Denemede neler var? Burada hiçbir şey bir istisna atamaz. – BoltClock

+0

ya daha sonra – aWebDeveloper

cevap

5

hiçbir doğru cevabı, setting the recursive flag to true arıyorsunuz?

<?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

anladım. Mkdir falis, ancak yürütmenin devam etmesi gerekiyorsa, hiçbir prolemem yok. Yanlış yazılması gerekiyor - – aWebDeveloper

1

Bu işlev yinelemeli gibi görünmüyor. Tüm dizin ağacını oluşturmak istediğiniz dizininize indirmeniz gerekir. here. Sarnold'un dediği gibi, sadece tekrarlayıcı argümanı doğru olarak ayarlayın.

+0

. Mkdir falis, ancak icra devam etmeli eğer bir prolem var. – aWebDeveloper

İlgili konular