folder permission error

Asked

Viewed 264 times

2

Good afternoon, I’m with a folder permission error, my code mounts the gallery records the first photo as the cover and then creates a folder inside the directory stipulated by me, and the same places the images of the gallery inside.

it records the first photo and data but does not save the gallery.. returns to me:

permission! permission! as I stipulated in an if you will see in the following code, only that I put the permissions 777 does not write the folder, and the other server works, but not this one.. follows the code.

` // Include the file connects.php that connects to the database include "connect.php" ;

//Dou um Extract e jogo o valor dentro da variavel $arq1
  extract($_POST);
  $arq1=$_FILES["imagem"]["name"];
//Seleciona a ultima entrada do banco na tabela galeria
  $s_trab = "SELECT id
                 FROM portifolio";
  $t_trab = mysql_query($s_trab) or die(mysql_error());  
  $trab   = mysql_fetch_array($t_trab);
//Dou um nome para a foto que será o ultimo id + 1
  $nome = $trab[id] + 1;
//crio um nome único para a imagem
  $arq1 = $nome.$_FILES['imagem']['name'];
//cria um nome temporário para mover o arquivo
  $arq1_tmp = $_FILES['imagem']['tmp_name'];
//Comando para mover o arquivo para o doretório especificado, aplicando o nome definido anteriormente
  move_uploaded_file($arq1_tmp,"foto_portifolio/".$arq1);

// galeria 
$p = 0;
$countArr = count($_FILES['arquivo']['name']);
for($i = 0; $i < $countArr; $i++){

  // verifica se foi enviado um arquivo 
  if(isset($_FILES['arquivo']['name'][$i]))
  {

    $arquivo_tmp  = $_FILES['arquivo']['tmp_name'][$i];
    $nome         = $_FILES['arquivo']['name'][$i];

    // Pega a extensao
    $extensao = strrchr($nome, '.');

    // Converte a extensao para mimusculo
    $extensao = strtolower($extensao);

    // Somente imagens, .jpg;.jpeg;.gif;.png
    if(strstr('.jpg;.jpeg;.gif;.png;.bmp', $extensao))
    {
      // Cria um nome único para esta imagem
      $novoNome = md5(microtime()) . $extensao;

      if($p == 0){
        $trataEspaco = str_replace(" ", "", $_POST['titulo']);
        @mkdir('foto_portifolio/galeria/'.$trataEspaco.'/');
        $p = 1;
      }

      // Concatena a pasta com o nome
      $destino = 'foto_portifolio/galeria/'.$trataEspaco.'/' . $novoNome;

      // tenta mover o arquivo para o destino
      if(@move_uploaded_file( $arquivo_tmp, $destino))
      {
        echo "Fotos salvas com sucesso!";
      }
      else
       echo "Permissao!";
    }
    else
      echo ".jpg;*.jpeg;*.gif;"; 
  }
  else
  {
    echo "Você não enviou nenhum arquivo!";
  }

}
// /galeria

//Gravando o nome do arquivo tabela do banco de dados 

  $i_galeria = "INSERT INTO `imagi_new`.`portifolio` ( `titulo`, `chamada`, `cliente`, `destaque`, `imagem`, `data` ) 
  VALUES (  '$_POST[titulo]', '$_POST[chamada]', '$_POST[cliente]', '$_POST[destaque]', '$arq1', now())";
    mysql_query($i_galeria) or die (mysql_error());


//Retorno a página de formulário
echo "
 <script language='javascript'>
 alert('Dados cadastrados com sucesso!');
 parent.location='portifolio_adm.php';
   </script>
";
?>

`

  • Probably the problem is in @mkdir('foto_portifolio/galeria/'.$trataEspaco.'/'), add the mode, and recursion parameters: mkdir($dir, 0777, true). on the use of error control operator @: http://answall.com/a/50167/13561

2 answers

1

Right-click the folder and click Properties. Then change the Group and Owner of the folder if permissions are restricted to root, for example.

PS: It’s been a long time. But if someone can benefit from the answer, there’s a hint.

0

Have servers that need permissions kind of cascade, ex:

/user/teste/arquivos/fotos/etc

If your folder /etc has 777 but the photos don’t have, doesn’t work.

Try to give permission 777 for the folders above the one you want.

Take a test and tell us if it helped.

Ps: permission 777 is danger on the corner, try to find a safer permit that works for you.

  • Okay I’ll test and I’ll be right back, because I wanted to leave 755, but how does ?? the guys' server is awesome. they say it’s an error in my code . but if it works on another server it’s the same error on my Cód. kk ..

Browser other questions tagged

You are not signed in. Login or sign up in order to post.