Ir para conteúdo

POWERED BY:

Arquivado

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

Williams Duarte

hehehe não apaga

Recommended Posts

Galera esta função abaixo esta toda dinamica, mas é o seguinte ela cria a pasta e da a permissão mas se eu tento remover a pasta do servidor manualmente

 

não deleta de jeito nenhum coloco a permissão 777 na pasta mas ela volta a origem 775 e as imagens 644

 

e o erro abaixo por um programa de ftp

550 CHMOD 777 pasta: Operation not permitted

function gera_fotos()
	{
		$pasta = $_SESSION["pasta_imagesdb"];
		$diretorio = "../fotos_produtos/$pasta/";/*Pasta da fotos*/
		
		
		if(!file_exists($diretorio))
		{
			mkdir("$diretorio", 0777);
		}
		$grande  = "imagem_";
		$media   = "media_";
		$thumb   = "thumb_";
				
		$nome_foto  = "$pasta&$grande".time().".jpg";
		$nome_media = "$pasta&$media".time().".jpg";		
		$nome_thumb = "$pasta&$thumb".time().".jpg";

Vou ter que fazer manual as pastas :blink: para poder apagar depois :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

rapaz, e ela pelo menos cria ? cria e na hora de apagar não vai ne ?

Alaerte

Cria manda a imagem pra dentro mas não vai mesmo ta russo! :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente dar um CHMODE na pasta ao cria-la, pois mesmo criando em 777 ela esta ficando com 775, detalhe quando vocÊ cria a pasta e as imagens você execulta a "saida"

 

tipo em arquivo do tipo PLAIN(texto) vocÊ deve usar fclose() em diretorios lidos você usar closedir()

 

deve haver algum script seu "mal-fechado", ponha a script inteira para vermos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opá silverfox desde já agradeço pela ajuda segue o código

 

<?php
set_time_limit(0);
include "funcoes.php";

class Upload
{
	var $arquivo = "";
	var $erro = array ( "0" => "Cadastro realizado com sucesso!",
						"1" => "O arquivo é maior que o permitido pelo Servidor",
						"2" => "O arquivo é maior que o permitido pelo formulario",
						"3" => "O upload do arquivo foi feito parcialmente",	
						"4" => "Não foi feito o upload do arquivo"
					   );
		
	function Verifica_Upload()
	{
		$this->arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : FALSE;
		if(!is_uploaded_file($this->arquivo['tmp_name'])) {
			return false;
		}	
		$get = getimagesize($this->arquivo['tmp_name']);
		
		if($get["mime"] != "image/jpeg")
		{	
			echo "<span style=\"color: #ffffff; border: solid 1px; background: #be0000;\">Arquivo em formato inválido! A imagem deve ser jpg ou jpeg. Envie outro arquivo</span>";
			exit;
		}
		return true;
	}

	function Envia_Arquivo()
	{
		if($this->Verifica_Upload()) {
			$this->gera_fotos();
			return true;		
		} else {
			echo "<span style=\"color: white; border: solid 1px; background: red;\">".$this->erro[$this->arquivo['error']]."</span>";
		}
	}
	
	function gera_fotos()
	{
		$pasta = $_SESSION["pasta_imagesdb"];
		$diretorio = "../fotos_produtos/".$pasta."/";/*Pasta da fotos*/
		
		
		if(!file_exists($diretorio))
		{
			mkdir("$diretorio", 0777);
		}
		
				$nome_foto  = $pasta."&".$grande.time()."imagem_".".jpg";
				$nome_media = $pasta."&".$media.time()."media_".".jpg";		
				$nome_thumb = $pasta."&".$thumb.time()."thumb_".".jpg";
		
				//determino uma resolução maxima e se a imagem for maior ela sera reduzida
		reduz_imagem($this->arquivo['tmp_name'], 420, 420, $diretorio.$nome_foto);
				//determino uma resolução maxima e se a imagem for maior ela sera reduzida
		reduz_imagem($this->arquivo['tmp_name'], 180, 180, $diretorio.$nome_media);		  
				//passo o tamanho da thumbnail
		reduz_imagem($this->arquivo['tmp_name'], 90, 90, $diretorio.$nome_thumb);		 
		
		echo "<span style=\"color: white; border: solid 1px; background: blue;\">".$this->erro[$this->arquivo['error']]."</span>";

	// ----------------- Gravar no Banco de Dados ------------------- //

		$id	= $_SESSION["idinfo"];/* pego id do produto */		
		include "Connections/conexao.php";
						
		$sql = ("UPDATE produtos_lojas SET imagemG='$nome_foto', thumbnailG='$nome_media', thumb='$nome_thumb' WHERE id_produto = '$id'");
		$query = mysql_query($sql) or die (mysql_error());
		

	}	

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falta o Mysql_close();( não tem haver com seu erro mas ajeita isso tambem), teria como por a função "reduz_imagem" inteira, pois acredito que deva ser algo nela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta classe é do fábio só ajustei a minha necessidade aqui não mexi em nada

 

<?php

function reduz_imagem($img, $max_x, $max_y, $nome_foto) {

//pega o tamanho da imagem ($original_x, $original_y)
list($width, $height) = getimagesize($img);

$original_x = $width;
$original_y = $height;

// se a largura for maior que altura
if($original_x > $original_y) {
   $porcentagem = (100 * $max_x) / $original_x;	  
}
else {
   $porcentagem = (100 * $max_y) / $original_y;  
}

$tamanho_x = $original_x * ($porcentagem / 100);
$tamanho_y = $original_y * ($porcentagem / 100);

$image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);
$image   = imagecreatefromjpeg($img);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);


return imagejpeg($image_p, $nome_foto, 100);

}

?>

Esse cara aqui Mysql_close() eu tirei tava dando um erro

 

tava assim mysql_close($conexao);

 

tava dando um erro de como usuario padrão root

mas vou voltar e corrigir o erro.

 

porque o a conexão tava no mesmo código

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou no código de imagens, uma função chamada imagedestroy();: http://www.php.net/imagedestroy

ele limpa a memoria usada pela GD.

;)

 

e antes de fazer os uploads use: http://www.php.net/chmod

 

tira as ASPAS daqui tambem:

mkdir("$diretorio", 0777);
só por recomendação ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

WDuarte, tenta usar assim:

 

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

E vê se resolve

Valeu galera resolvido com o código acima a criação, permissão e a exclusão da mesma!

 

Muito obrigado a todos que me ajudaram...

 

e vou terminar o que esta faltando

 

Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo assim não se esqueça de fechar todas aplicações ;)

como fclose(); imagedestroy(); closedir(); mysql_close();, eles são altamente necessarios =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo assim não se esqueça de fechar todas aplicações ;)

como fclose(); imagedestroy(); closedir(); mysql_close();, eles são altamente necessarios =D

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Só fiquei em dúvida com esse cara aqui imagedestroy();

 

poderia dar um exemplo no código acima http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido, não importa com qual código, o importante é que foi resolvido.

 

Não vai esquecer do mysql_free_result(); após suas queryes, para liberar a memória, isso conta muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://www.php.net/imagedestroy

 

faça isso no seu source

...
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);


imagejpeg($image_p, $nome_foto, 100);
imagedestroy($image);
imagedestroy($image_p);
}
?>

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.