Ir para conteúdo
Fórum Script Brasil
  • 0

Mkdir sem permissão


JaguA

Pergunta

Salve galera ...

Cara eu to com um comando basico que é o mkdir, estou utilizando ele para criar pasta de eventos no meu computador fico tudo 100% apos mandar para o servidor tive um problema pois não criava as pastas, normal dei CHMOD 777 fico tranquilo.. porem as pasta são criadas por padrão 755 e eu não estou conseguindo por as imagens dentro dela, diz que não tenho permissão eu deletei a pasta crie ela manualmente e deu certo, então eu tentei um (Mkdir,0777,true) para cria a pasta com CHMOD 777 porem não resolveu, então venho aqui compartilhar esse problema que estou tendo talvez a experiencia de alguns que já passaram por isso ou que tem o conhecimento aprofundado da questão poder me ajudar...

Desde já agradeço . Abraços.

Segue abaixo o código

<?php

class cadastroEvento{
    function cadastrar() {

     
           
        $ext = array("image/gif","image/jpeg","image/png","image/jpg");
        $imagemTmp = $_FILES['fileImage']['tmp_name'];
        $nomeImgTmp = $_FILES['fileImage']['name'];
        $tipoImgTmp = $_FILES['fileImage']['type']; 
        $tamanhoImg = $_FILES['fileImage']['size'];
        
       $tamanhosD = getimagesize($imagemTmp);          
        //// Verifica largura 
        $dimensao = $tamanhosD[0]." x ".$tamanhosD[1];
        
        
    
        $titulo = $_POST['titulo'];
        $comentarios = $_POST['comentarios'];
        $fotografo = $_POST['fotografo'];
        $data_evento = $_POST['data_evento'];
        $local_evento = $_POST['local_evento'];
        $cidade = $_POST['cidade'];
        $evento_id = strtolower($_POST['pasta']);
        

    
        if ( $imagemTmp != "none" ){  //Identifica se variavel possui um arquivo
            $tipoimgcmd = null;
            if(($tipoImgTmp == $ext[0])||($tipoImgTmp == $ext[1])||($tipoImgTmp == $ext[2])||($tipoImgTmp == $ext[3])){    
                switch ($tipoImgTmp) {
                    case $ext[0]:
                        $tipoimgcmd = 'gif';
                        break;
                    case $ext[1]:
                        $tipoimgcmd = 'jpg';
                        break;
                    case $ext[2]:
                        $tipoimgcmd = 'png';
                        break;
                    case $ext[3]:
                        $tipoimgcmd = 'jpg';
                        break;
                }
        
           // Gera um nome único para a imagem
                $nome_imagem = md5(uniqid(time()));
                $nome_final = $nome_imagem.".".$tipoimgcmd;

                //verifica existencia do diretório
                if(is_dir("fotos/".$evento_id)) {
                    // Caminho de onde ficará a imagem
                    $caminho_imagem = "fotos/".$evento_id."/".$nome_final;
                }else {
                    //criar diretório
                    $caminho_imagem = "fotos/".$evento_id;
                    mkdir($caminho_imagem,0777,true);
                    $caminho_imagem = "fotos/".$evento_id."/".$nome_final;
                }
        
                $up = move_uploaded_file($imagemTmp, $caminho_imagem);
            }       
        }  else {?>
            <script type="text/javascript">
                alert('Nenhum Arquivo foi Selecionado');
                history.back();
            </script><?php
        }
           

        if (($up==true)){                      
                  
                       
            
            
            $qry = "INSERT INTO eventos VALUES( NULL,'$titulo','$comentarios','$fotografo','$data_evento','$local_evento','$cidade','$caminho_imagem','$evento_id','0', now())"; //Sql para ensirir campos no Banco
            $exeSQL = mysql_query($qry) or die('Não foi possivel gravar a imagem no Banco de Dados: '+  mysql_error()); //Executa o SQL
            
            if ($exeSQL) {
                echo"<div align='center'><font size=4>Cadastro Efetuado com Sucesso! <br> </font></div>";
            }
        }else{ 
            ?>
            <script type="text/javascript">
                alert('Erro no Upload da Imagem tente novamente!');
                window.location = 'cad_anuncio.php'
            </script>
        <?php
            
        }
    }
        }

?>

.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Já tentou sem o terceiro parâmetro, que por default, é false?

Ah, e

The mode is 0777 by default, which means the widest possible access. For more information on modes, read the details on the chmod() page.

Note:

mode is ignored on Windows.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu sei que é default 0777 no PHP.. porem por Default não ta indo por isso tentei dar o parameto entende mas mesmo assim não funciona..

é um pouco estranho cara, por que se eu crio a pasta direto pelo FTP normal funciona tudo... se eu crio pelo comando no PHP já não da certo.. tipo eu não posso nem alterar as permissões desta pasta criada.

Assim eu crio a pasta e já mando a imagem como da para ver no codigo essa imagem vai la para dentro porem as outras não vai .. isso por que quem é Owner da pasta é o script e como é 755 so o dono pode escrever sendo assim so pelo script o que faz sentido a imagem que vai junto do cadastro ir la para dentro porem as demais que eu mando via software-FTP não vai ai complica um pouco.

Editado por JaguA
Link para o comentário
Compartilhar em outros sites

  • 0

Cara consegui resolver de outra forma, depois de olhar no site da PHP e ver os comando eu tentei o chown porem o servidor por questões de segurança bloqueia o comando.. então eu pensei se ele bloqueo isso deve ter bloqueado o mkdir de fazer 0777 então tentei dar um chmod apos cria a pagina e funciono então fico assim.

mkdir($caminho_imagem, 0777);
chmod($caminho_imagem, 0777);

Agradeço a atenção e a tentativa, sendo até que o fato de você ter ido ate o site e trago essa mensagem, fez com que eu fosse da uma olhada la .. então meu muito obrigado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...