Jump to content

[Resolvido] Undefined offset: 9 (Criar pastas recursivamente)


Wise

Recommended Posts

Boas pessoal.

Estou aqui com um problema e não estou a perceber como se resolve!

Tenho aqui este código que cria as pastas caso o directorio não exista:

if(is_dir($desired_dir)==false){
$paths = explode("/", $desired_dir);

$partial_path = "/".$paths[0];


$actual_path = 0;
while( $actual_path < count($paths) ) {
if(!is_dir($partial_path)) mkdir($partial_path);
$partial_path .= $paths[++$actual_path] . "/";
    }
}

E o código funciona e cria as pastas, o problema é que aparece este erro:

Notice: Undefined offset: 9

Não consigo perceber como resolver, alguém sabe o que se passa??

No explode antes tinha split(), mas como estou com php5 mudei para explode

cumps

Edited by brunoais
geshi
Link to comment
Share on other sites

Já experimentaste

$partial_path .= $paths[$actual_path++] . "/";

em vez de:

$partial_path .= $paths[++$actual_path] . "/";

?

"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Link to comment
Share on other sites

eis a razão porque é desaconselhado brincar com os operadores de incremento no meio das instruções : quem está desatento, faz bronca.

talvez agora ganharás a prática de fazer desta maneira:

$partial_path .= $paths[$actual_path] . "/";
$actual_path++;
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

eis a razão porque é desaconselhado brincar com os operadores de incremento no meio das instruções : quem está desatento, faz bronca.

talvez agora ganharás a prática de fazer desta maneira:

$partial_path .= $paths[$actual_path] . "/";
$actual_path++;

Isso não resolveu também :/

Já experimentaste

$partial_path .= $paths[$actual_path++] . "/";

em vez de:

?

Engraçado, já tinha tentado isso (pois costumo fazer assim) mas assim ainda gerou mais erros e a pasta nem é criada :s

Link to comment
Share on other sites

Bem resolvi isto de uma maneira mais fácil.

Criei uma função e depois no ficheiro chamei a função e não deu nenhum erro, ocupa menos espaço e tudo.

Função:

function criar_pastas($caminho) {
//Verifica se o caminho existe
if (is_dir($caminho) || file_exists($caminho)) return;
//Se não existir, cria-o
mkdir($caminho, 0777, true);
}
Edited by brunoais
geshi
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.