Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

BAR WEB

[Resolvido] Criar diretorio com php

Recommended Posts

galera, estou precisando urgente de ajuda.

preciso criar diretorio com o php e nao estou conseguindo, ele nao cria e nao da erro nenhum.

e tambem nao cadastra no bd nada.

 

veja meu codigo:

 

<?
// inicia criação de pasta
include"../includes/conecta.php"; 
$titulo = $_POST['titulo'];
if($diretorio != ""){
$pasta = @mkdir("../imgs/galeria/$diretorio", 0777);
chmod("../imgs/galeria/$diretorio", 0777);
}
// fim da criação da pasta
// inicia a função para enviar a foto
if($pasta == "$diretorio" AND $foto1 != ""){
if (copy($foto1,"../imgs/galeria/$diretorio/".$foto1_name)){
chmod("../imgs/galeria/$diretorio/".$foto1_name,0777);
}else{
echo ("Erro no enviar a foto!");
}
}
// termina a função para enviar a foto

if($pasta == "$diretorio" AND $foto1 != ""){
$sql="insert into fotos (id, titulo, diretorio, foto1) VALUES ('', '$titulo','$diretorio','$foto1_name')"; 
$sql = mysql_query($sql);
echo "Galeria cadastrada com sucesso!";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu servidor é linux? Se for, tente acrescentar isso logo abaixo da primeira linha:

 

$pasta = @mkdir("../imgs/galeria/$diretorio", 0777);
chown($pasta,'root'); //define usuario root para trabalhar na pasta

Compartilhar este post


Link para o post
Compartilhar em outros sites

retire o @, pois ele é o supressor de erros.

 

$pasta = mkdir("../imgs/galeria/$diretorio", 0777);

além disso, habilite as mensagens de erro:

http://forum.imasters.com.br/topic/375800-orientacoes-para-uma-boa-participacao/

 

 

debugando você descobrirá o motivo de não estar criando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu os seguintes erros:

 

Notice: Undefined variable: diretorio in /home/pescando/public_html/admin/recebe_fotos.php on line 46

Notice: Undefined variable: diretorio in /home/pescando/public_html/admin/recebe_fotos.php on line 52

Notice: Undefined variable: pasta in /home/pescando/public_html/admin/recebe_fotos.php on line 52

Notice: Undefined variable: foto1 in /home/pescando/public_html/admin/recebe_fotos.php on line 52

Notice: Undefined variable: diretorio in /home/pescando/public_html/admin/recebe_fotos.php on line 61

Notice: Undefined variable: pasta in /home/pescando/public_html/admin/recebe_fotos.php on line 61

Notice: Undefined variable: foto1 in /home/pescando/public_html/admin/recebe_fotos.php on line 61

 

e meu form eu digito o nome do diretorio a ser criado:

 

<input type="text" name="diretorio" id="diretorio" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

adicione essa linha, acima da tentativa de criar a pasta:

 

$diretorio = $_POST['diretorio'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como dito no erro, a pasta/arquivo que está tentando criar, já existe no servidor. Verifica se ela de fato não existe, e se for o caso, faz uma validação antes da criação para evitar esse erro (file_exists)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora ele cria o diretorio, so que nao envia a foto para o diretorio.

 

Warning: copy(murilo.jpg) [function.copy]: failed to open stream: No such file or directory in /home/pescando/public_html/admin/recebe_fotos.php on line 55
Erro no enviar a foto!Galeria cadastrada com sucesso!

 

no banco de dados ele cadastra beleza

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php

// inicia criação de pasta
include"../includes/conecta.php"; 
$titulo = $_POST['titulo'];
$diretorio = $_POST['diretorio'];


if( !empty($diretorio) ){
   echo "../imgs/galeria/$diretorio";//informe oque voltar desse echo

   if( !file_exists( "../imgs/galeria/$diretorio" ) )
       $pasta = mkdir("../imgs/galeria/$diretorio", 0777);

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora, ele esta criando beleza a pasta, so que nao copia a imagem para dentro dela.

 

../imgs/galeria/pescaria
Warning: copy(murilo.jpg) [function.copy]: failed to open stream: No such file or directory in /home/pescando/public_html/admin/recebe_fotos.php on line 58
Erro no enviar a foto!Galeria cadastrada com sucesso!

 

codigo completo:

 

<?
ini_set( 'display_errors', true );
error_reporting( E_ALL );
// inicia criação de pasta
include"../includes/conecta.php"; 
$titulo = $_POST['titulo'];
$diretorio = $_POST['diretorio'];
$foto1 = $_FILES['foto1']['name'];

if( !empty($diretorio) ){
   echo "../imgs/galeria/$diretorio";//informe oque voltar desse echo

   if( !file_exists( "../imgs/galeria/$diretorio" ) )
       $pasta = mkdir("../imgs/galeria/$diretorio", 0777);
}
// fim da criação da pasta
// inicia a função para enviar a foto
if($pasta == "$diretorio" AND $foto1 != ""){
if (copy($foto1,"../imgs/galeria/$diretorio/".$foto1)){
chmod("../imgs/galeria/$diretorio/".$foto1,0777);
}else{
echo ("Erro no enviar a foto!");
}
}
// termina a função para enviar a foto

if($pasta == "$diretorio" AND $foto1 != ""){
$sql="insert into fotos (id, titulo, diretorio, foto1) VALUES ('', '$titulo','$diretorio','$foto1')"; 
$sql = mysql_query($sql);
echo "Galeria cadastrada com sucesso!";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

if( copy($_FILES['foto1']['tmp_name'],"../imgs/galeria/$diretorio/".$foto1) ){

isso se o teu servidor permitir o uso do copy() para upload, se não você terá que usar o move_uploaded_file()

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, funcionou beleza.

ai fiz uma função para enviar mais fotos.

 

agora quero pegar as fotos da pasta e mostrar em 4 colunas.

 

so que do jeito que fiz nao funcionou.

 

<?php
$diretorio = "../imgs/galeria/$diretorio1/";
$arrayArquivos = scandir($diretorio);

for($i=0; $i < count($arrayArquivos); $i++) {
   $arq = $arrayArquivos[$i];
   if($arq <> "." && $arq <> "..") {
       $ext = explode(".",$arq);
       if( ($ext[1] == "gif") || ($ext[1] == "jpg") || ($ext[1] == "png") )
{
           echo "<table width=\"100%\" border=\"0\">
           <tr bgcolor=\"e8e8e8\">";
		$Coluna = 0;
           echo" <td><img src=\"$diretorio/$arq\" width=\"90\" height=\"80\" /></a></td>";

  				$Coluna++;
  				if ($Coluna == 4) {
  				echo '</tr><tr>';
   			 $Coluna = 0;          
} 
echo"</tr>
         </table>";
       }
   }

}
?>

 

como eu poderia colocar em colunas os resultados???

Compartilhar este post


Link para o post
Compartilhar em outros sites

estude tableless.

 

<ul id="fotos">
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
</ul>

#fotos li { float: left; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.