Como captura uma imagem
Estou de senvolvendo um sistemas, e no msm teno que grava as imagens do certificado dos alunos, queria informações de qual o tipo de dado que uso e um exemplo ja construindo de algum. De já agradeço!
comentários (0)
suspender
Lista de Respostas:
21/02/2010 10:26pm
(~14 anos atrás)
(~14 anos atrás)
Antes de mais nada nao e recomendado gravar dados binarios em tabelas. O ideal e voce guardar a referencia para um arquivo físico. Mas abaixo, o código para gravar no banco.
<?php
/*
Script para criacao da tabela no BD
CREATE TABLE `file_upload`.`files` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`file_name` VARCHAR(255) NOT NULL,
`file_type` VARCHAR(255) NOT NULL,
`file_size` int NOT NULL,
`content` LONGBLOB NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = MyISAM;
*/
if($_FILES['post_file']['error']==0){
$file = $_FILES['post_file'];
$file_name = $file['name'];
$file_type = $file['type'];
$file_size = $file['size'];
$h = fopen($file['tmp_name'], 'r');
$content = addslashes(fread($h, filesize($file['tmp_name'])));
fclose($h);
//Conecta ao banco e salva dados
mysql_connect('localhost', 'root', 'root');
mysql_selectdb('file_upload');
mysql_query("INSERT INTO files (file_name, file_type, file_size, content)VALUES('$file_name','$file_type','$file_size','$content')");
echo '<h1>Arquivo gravado</h1>';
}
?>
<form method='POST' enctype='multipart/form-data'>
<input type='file' name='post_file'>
<input type='submit'>
</form>
<?php
/*
Script para criacao da tabela no BD
CREATE TABLE `file_upload`.`files` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`file_name` VARCHAR(255) NOT NULL,
`file_type` VARCHAR(255) NOT NULL,
`file_size` int NOT NULL,
`content` LONGBLOB NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE = MyISAM;
*/
if($_FILES['post_file']['error']==0){
$file = $_FILES['post_file'];
$file_name = $file['name'];
$file_type = $file['type'];
$file_size = $file['size'];
$h = fopen($file['tmp_name'], 'r');
$content = addslashes(fread($h, filesize($file['tmp_name'])));
fclose($h);
//Conecta ao banco e salva dados
mysql_connect('localhost', 'root', 'root');
mysql_selectdb('file_upload');
mysql_query("INSERT INTO files (file_name, file_type, file_size, content)VALUES('$file_name','$file_type','$file_size','$content')");
echo '<h1>Arquivo gravado</h1>';
}
?>
<form method='POST' enctype='multipart/form-data'>
<input type='file' name='post_file'>
<input type='submit'>
</form>
21/02/2010 11:58pm
(~14 anos atrás)
(~14 anos atrás)
Se você quer copiar os arquivos enviados por upload, use estas funções:
Onde $destino indica o local de destino do arquivo (inclusive o novo nome do arquivo). Pode ser útil renomear o arquivo para evitar que um sobreponha outro no mesmo diretório, ou então usar $_FILES['arquivo']['name'] para usar o nome original do arquivo enviado.
if (is_uploaded_file($_FILES['arquivo']['tmp_name'])) { $moveu = move_uploaded_file($_FILES['arquivo']['tmp_name'], $destino); } else { $moveu = false; }
Onde $destino indica o local de destino do arquivo (inclusive o novo nome do arquivo). Pode ser útil renomear o arquivo para evitar que um sobreponha outro no mesmo diretório, ou então usar $_FILES['arquivo']['name'] para usar o nome original do arquivo enviado.
22/02/2010 11:45am
(~14 anos atrás)
(~14 anos atrás)
Thiago, acho que já responderam, pegue a imagem e envie para o servidor (diretório) e guarde a referência no banco de dados. Caso queira executar dessa forma, de um ok, caso a dúvida persista, envie um contato para nós.
22/02/2010 7:17pm
(~14 anos atrás)
(~14 anos atrás)
cara.. não guarda o arquivo dentro do BD não... ele vai sobrecarregar seu servidor no futuro... faz mesmo como o pessoal comentou acima, guarda apenas o caminho da imagem, o arquivo vc transfere pra uma pasta, no futuro vc não terá dificuldades para transferir pra outro local ou coisa assim...
Falows
Falows