11closed 0 Denunciar post Postado Agosto 3, 2010 ola estou com um problema que acho que ñ dificio de resolver, mais estou em apuros aqui XD... $verificar2 = "SELECT * FROM $tabela1 WHERE nomeurl = '$LocalDesejado'"; $queryVerificar2 = mysql_query($verificar2); while($ver2 = mysql_fetch_array($queryVerificar2)) { mkdir ("../".$ver2["nomeurl"]."/$Nomes", 0700 ); mkdir ("../".$ver2["nomeurl"]."/$Nomes/fotos", 0700 ); } estou criando uma pasta dentro de outra ja existente e depois outra pasta dentro da ja existente e dentro da que eu acabeide criar, como vcs podem ver no codigo acima. o problema é que esta dano esse erro aq Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.....php on line 401 a linha 401 é essa mkdir ("../".$ver2["nomeurl"]."/$Nomes", 0700 ); mkdir ("../".$ver2["nomeurl"]."/$Nomes/fotos", 0700 ); como evitar que esse erro apareça ??? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Agosto 4, 2010 você pode verificar se existe com a função file_exists() e ir mudando de nome até achar um nome válido exemplo: $Nomes = "Victor";//associando um nome a variável //caracteres aceitos para ajudar a achar nome aleatório $Caracter = 'abcdefghijklmnopqrstuvxywzABCDEFGHIJKLMNOPQRSTUVXYWZ'; $limite = strlen($Caracter) - 1;//limite do tamanho da string anterior //loop enquanto existir pasta com o mesmo nome while (file_exists("pasta1/pasta2/pasta3/$Nomes"){ //gerando letra aleatoriamente e concatenando ao nome $Nomes .= $Caracter{mt_rand(0, $limite)}; } //dessa forma cria-se várias pastas seguindo a hierarquia de uma só vez se elas não existirem //se existir só entra e cria as subsequentes mkdir("pasta1/pasta2/pasta3/$Nomes",'0777',true); Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Agosto 4, 2010 ola Victor Cometti mas dessa forma criaria um endereço aleatório neh .... o endereço que deve ser criado tem que ser exatamente dessa forma que está. OBS: as pasta estão criando certinho, no BD esta tudo certo, o unico problema é que msm que esteja tudo certo o ERRO continua aparecendo no bownser, e aparece repetitivamente ERRO Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 olha o codigo intero if($qtsparts == "1"){ for($i=1;$i<=1;$i++){ $anunciando = "part $i"; if ($LocalCadastrado == "NAO") { $fotos = "../$nomeurl/$part[$i]/fotos"; } elseif ($LocalCadastrado == "SIM") { $verificar2 = "SELECT * FROM $tabela1 WHERE nomeurl = '$LocalDesejado'"; $queryVerificar2 = mysql_query($verificar2); while($ver2 = mysql_fetch_array($queryVerificar2)) { $fotos = "../".$ver2["nomeurl"]."/$part[$i]/fotos"; } } $Nomes = $_POST[ 'part'.$i ]; $inseri = "INSERT INTO $tabela3 (indice, anunciando, codigo_id_part, nome_part, Fotos, Datacadastro, liberado) VALUES ('$i', '$anunciando', '$codigoid', '$Nomes', '$Fotos', '$Datacadastro', '$liberado')"; $query = mysql_query($inseri)or die(mysql_error()); if ($LocalCadastrado == "NAO") { mkdir ("../$nomeurl/$Nomes", 0700 ); mkdir ("../$nomeurl/$Nomes/fotos", 0700 ); } elseif ($LocalCadastrado == "SIM") { $verificar2 = "SELECT * FROM $tabela1 WHERE nomeurl = '$LocalDesejado'"; $queryVerificar2 = mysql_query($verificar2); while($ver2 = mysql_fetch_array($queryVerificar2)) { mkdir ("../".$ver2["nomeurl"]."/$Nomes", 0700 ); mkdir ("../".$ver2["nomeurl"]."/$Nomes/fotos", 0700 ); } } } } não sei oque devo fazer... t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Agosto 4, 2010 o q está acontecendo é q você tá tentando criar um arquivo ou pasta com nome já existente, debuga esse código e tenta descobrir onde q está errado só um detalhe isso mkdir ("../".$ver2["nomeurl"]."/$Nomes", 0700 ); mkdir ("../".$ver2["nomeurl"]."/$Nomes/fotos", 0700 ) é o mesmo q isso mkdir("../{$ver2['nomeurl']}/{$Nomes}/fotos",'0777',true); Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Agosto 5, 2010 ola Victor Cometti olha "../{$ver2['nomeurl']}/" ---- Essa pasta realmente ja existe eu so quero que cria essas duas "{$Nomes}/" e "fotos" essa duas tem que ser criada dentro da "../{$ver2['nomeurl']}/" entendeu ?? sera que é por isso que esta dano erro o codigo esta criando essa pasta "../{$ver2['nomeurl']}/" novamente ??? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Agosto 5, 2010 e você tentou usar a sintaxe q eu te passei anteriormente?? mkdir("../{$ver2['nomeurl']}/{$Nomes}/fotos",'0777',true); Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Agosto 6, 2010 sim deu o msm erro Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.......php on line 401 Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Agosto 6, 2010 você está tentando criar uma pasta que já existe!! faz uma experiêcia para você ver //cria pasta mkdir("../11colsed/teste/fotos",'0777',true);//aki funciona //tenta criar a mesma pasta mkdir("../11colsed/teste/fotos",'0777',true);//aki vai dá erro Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Agosto 6, 2010 fiz a experiência Victor Cometti e aconteceu a msm coisa, as pasta foram criadas normalmente. e apareceu esses erros Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\.............php on line 405 Warning: mkdir() [function.mkdir]: File exists in D:\wamp\www\..............php on line 403 esses dois erros apareceu 8 vezes... porque sera ? so pra recapitula, a pasta "$ver2['nomeurl']" ja existe eu so quero criar as outras duas a $Nomes e Fotos t+ Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Agosto 6, 2010 O script PHP deve ter permissões de Execução e Gravação, dadas ao usuário que iniciou o serviço do servidor web, consequentemente o compilador php. Nota, ambientes windows "domésticos", você só consegue testar definindo as configurações de permissão como 0777 principalmente para o arquivo php que é executado Em ambientes executando IIS, é possível definir estas configurações no servidor. Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Agosto 6, 2010 Cria diretórios function createDir($dir, $recursive = TRUE, $mode = 0777) { if (!preg_match("/\/$/", $dir)) $dir .= "/"; if (!is_dir($dir)) { $create = mkdir($dir, $mode, $recursive); if ($create) return TRUE; else throw new Exception("O diretório não pôde ser criado!"); } } Funciona 100% Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Agosto 7, 2010 obrigado pessoal pelas dicas.... fico assim if( is_dir("../".$ver2['nomeurl']."") ){ if( is_dir("../".$ver2['nomeurl']."/$Nomes") ){ echo "subdiretorio ja existe"; } else{ mkdir("../".$ver2['nomeurl']."/$Nomes"); mkdir("../".$ver2['nomeurl']."/$Nomes/fotos"); } }else{ echo "O ".$ver2['nomeurl']." nao exixte mais..."; } deu certinho aq obrigado msm....... t+ Compartilhar este post Link para o post Compartilhar em outros sites