Jump to content
Fórum Script Brasil
  • 0

Mkdir sem permissão


JaguA

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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.

Edited by JaguA
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...