Sou novo por aqui (e iniciante em PHP). Necessito criar um sistema onde:
1º - O fotógrafo realiza o upload das imagens do cliente X, e as imagens devem ser armazenadas no diretório "imagens/nomedocliente" (de preferência, sem alterar o nome original da imagem).
2º - O cliente, através de um login fornecido pelo fotógrafo, acessa as fotos, seleciona as que deseja (e os respectivos serviços desejados em cada uma, como por ex.: impressão 20x30, montagem, etc...) e envia o pedido.
3º - O fotógrafo recebe esses dados (por meio de uma página no site ou mesmo apenas os nomes das imagens por email) e processa o pedido.
4º - Preciso criar também uma listagem dos clientes que possuem fotos no site, bem como criar uma alternativa fácil e rápida para o próprio fotógrafo excluir as imagens do servidor (já que são meras "provinhas", não têm a necessidade de permanecerem no site).
Pois bem,
estou trabalhando primeiramente no código de upload... e o problema já começou aí. Como sou iniciante, procurei um código pronto na net e estou tentando adaptá-lo ao meu uso, só que:
1º - As imagens enviadas não mantêm o nome original, e sim são criadas com um nome randômico.
2º - Antes, eu não conseguia criar o diretório nem a pau. Agora, consegui criar o diretório... porém, a imagem é enviada para fora da pasta criada... ¬¬
O código q estou usando para upload é o seguinte:
<?
$erro = $config = array();
// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;
$pastacl = isset($_POST["pastacl"]) ? $_POST["pastacl"] : "";
// nome do diretório
$diretorio = "img/" . $pastacl;
// cria o diretório com a permissão 0777
if(mkdir($diretorio, 0777, true))
echo "Diretório criado com sucesso. ";
else
echo "Não foi possível criar o diretório. ";
// Tamanho máximo do arquivo (em bytes)
$config["tamanho"] = 106883;
// Largura máxima (pixels)
$config["largura"] = 350;
// Altura máxima (pixels)
$config["altura"] = 180;
// Formulário postado... executa as ações
if($arquivo)
{
// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
{
$erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg,
bmp, gif ou png. Envie outro arquivo";
}
else
{
// Verifica tamanho do arquivo
if($arquivo["size"] > $config["tamanho"])
{
$erro[] = "Arquivo em tamanho muito grande!
A imagem deve ser de no máximo " . $config["tamanho"] . " bytes.
Envie outro arquivo";
}
// Para verificar as dimensões da imagem
$tamanhos = getimagesize($arquivo["tmp_name"]);
// Verifica largura
if($tamanhos[0] > $config["largura"])
{
$erro[] = "Largura da imagem não deve
ultrapassar " . $config["largura"] . " pixels";
}
// Verifica altura
if($tamanhos[1] > $config["altura"])
{
$erro[] = "Altura da imagem não deve
ultrapassar " . $config["altura"] . " pixels";
}
}
// Imprime as mensagens de erro
if(sizeof($erro))
{
foreach($erro as $err)
{
echo " - " . $err . "<BR>";
}
echo "<a href=\"foto.html\">Fazer Upload de Outra Imagem</a>";
}
// Verificação de dados OK, nenhum erro ocorrido, executa então o upload...
else
{
// Pega extensão do arquivo
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome = $pastacl . md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde a imagem ficará
$imagem_dir = "img/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
echo "Sua foto foi enviada com sucesso!";
}
}
?>
Ahh... e se alguém puder me ajudar também em como resgatar essas imagens nas páginas de "escolha do cliente" e "gerenciamento do fotógrafo", a ajuda será bem vinda =)
Pergunta
SantosBio
Olá pessoal!
Sou novo por aqui (e iniciante em PHP). Necessito criar um sistema onde:
1º - O fotógrafo realiza o upload das imagens do cliente X, e as imagens devem ser armazenadas no diretório "imagens/nomedocliente" (de preferência, sem alterar o nome original da imagem).
2º - O cliente, através de um login fornecido pelo fotógrafo, acessa as fotos, seleciona as que deseja (e os respectivos serviços desejados em cada uma, como por ex.: impressão 20x30, montagem, etc...) e envia o pedido.
3º - O fotógrafo recebe esses dados (por meio de uma página no site ou mesmo apenas os nomes das imagens por email) e processa o pedido.
4º - Preciso criar também uma listagem dos clientes que possuem fotos no site, bem como criar uma alternativa fácil e rápida para o próprio fotógrafo excluir as imagens do servidor (já que são meras "provinhas", não têm a necessidade de permanecerem no site).
Pois bem,
estou trabalhando primeiramente no código de upload... e o problema já começou aí. Como sou iniciante, procurei um código pronto na net e estou tentando adaptá-lo ao meu uso, só que:
1º - As imagens enviadas não mantêm o nome original, e sim são criadas com um nome randômico.
2º - Antes, eu não conseguia criar o diretório nem a pau. Agora, consegui criar o diretório... porém, a imagem é enviada para fora da pasta criada... ¬¬
O código q estou usando para upload é o seguinte:
Ahh... e se alguém puder me ajudar também em como resgatar essas imagens nas páginas de "escolha do cliente" e "gerenciamento do fotógrafo", a ajuda será bem vinda =)
Desde já, agradeço a atenção de todos =)
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.