Folder Permission Error

2

Good afternoon, I'm having a folder permission error, my code mounts the gallery writes the first photo as a cover sheet 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 the data but does not save the gallery .. return it to me:

permission! permission! as I stipulated in an if they will see in the following code, only that myself putting the 777 permissions does not write the folder, and on the other server it works, but in that no .. follow the code.

'     // Include the file conecta.php that makes the connection 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>
";
?>

'

    
asked by anonymous 17.11.2015 / 18:21

2 answers

1

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

PS: It's been a long time. But if anyone can benefit from the answer, that's a tip.

    
05.06.2018 / 20:42
0

Have servers that need cascading permissions, eg:

/user/teste/arquivos/fotos/etc

If your /etc folder has 777 but the photos do not, it does not work.

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

Take a test and let us know if you have helped.

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

    
17.11.2015 / 18:54