Wise Posted April 17, 2013 at 03:56 PM Report #503648 Posted April 17, 2013 at 03:56 PM (edited) 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 April 17, 2013 at 04:00 PM by brunoais geshi
brunoais Posted April 17, 2013 at 04:01 PM Report #503653 Posted April 17, 2013 at 04:01 PM 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%.
HappyHippyHippo Posted April 17, 2013 at 04:10 PM Report #503658 Posted April 17, 2013 at 04:10 PM 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++; 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Wise Posted April 18, 2013 at 08:36 AM Author Report #503747 Posted April 18, 2013 at 08:36 AM 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
HappyHippyHippo Posted April 18, 2013 at 09:59 AM Report #503758 Posted April 18, 2013 at 09:59 AM e que tal fazeres tudo numa só linha ? if(!is_dir($desired_dir)) mkdir($desired_dir, 0777, true /* recursive */); IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Solution Wise Posted April 18, 2013 at 10:35 AM Author Solution Report #503766 Posted April 18, 2013 at 10:35 AM (edited) 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 April 18, 2013 at 11:22 AM by brunoais geshi
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now