Inserindo dados no BD em sistema de upload
Galera, estou com um problema aqui que tá dificil resolver.
Tenho um sistema de upload e quero integrar nele um gerenciador de arquivos, definido por upload de cada usuário.
Por exemplo, o usuário Murilo entra no sistema de upload e manda um arquivo, o sistema insere no banco de dados a data, URL e id_usuario.
O problema é que não to conseguindo ver uma forma de fazer isso (tentei fazer assim:
if ($upload->enviarArquivo()) == true {
insert into .....
}
mas não funcionou...
Eis o código..
upload.php
include_once "Upload.class.php";
instanciamos a classe
$upload = new Upload();pasta que será enviada o arquivo
$upload->caminhoArquivo = 'uploads/';recuperamos o nome do arquivo
$upload->nomeArquivo = $_FILES['uplfile']['name'];extensão do arquivo
$upload->extArquivo = end(explode(".",$upload->nomeArquivo));arquivo temporario que está sendo enviado
$upload->arquivoTemporario = $_FILES['uplfile']['tmp_name'];envia o arquivo e retorna se tiver erro
die($upload->enviarArquivo());upload.class.php
class Upload {
public $nomeArquivo;
public $conteudoArquivo;
public $caminhoArquivo;
public $arquivoTemporario;
public function __construct (){
$this->nomeArquivo = '';
$this->conteudoArquivo = '';
$this->caminhoArquivo = './';
$this->arquivoTemporario = '';
}
/**
* Método que grava o conteudo no arquivo via fopen
*/
public function enviarArquivo () {
# cria o caminho do arquivo
$arquivo = $this->caminhoArquivo.$this->nomeArquivo;
# recuperamos o conteudo do arquivo enviado
$this->conteudoArquivo = file_get_contents($this->arquivoTemporario);
# escreve no arquivo, com o conteúdo desejado, usando este método de escrita
$ponteiro = fopen($arquivo, 'wa');
fwrite($ponteiro, $this->conteudoArquivo);
fclose($ponteiro);
}
}
Parte relevante do index.php
<script type="text/javascript" src="swfupload/core/swfupload.js"></script>
<script type="text/javascript" src="swfupload/js/swfupload.queue.js"></script>
<script type="text/javascript" src="swfupload/js/fileprogress.js"></script>
<script type="text/javascript" src="swfupload/js/handlers.js"></script>
<script type="text/javascript">
var swfu;
// ao carregar a página, chama o swfupload
window.onload = function() {
var settings = {
flash_url : "swfupload/core/Flash/swfupload.swf", // caminho do flash usado pelo sistema
upload_url: "upload.php", // url do php para upload
post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"}, // parâmetros extras.
file_size_limit : "300 MB", // limite de envio de arquivo em megas
file_types : "*.*", // tipos de arquivos permitidos> *.jpg; *.png; *.gif;
file_types_description : "Todos os arquivos", // Descrição da caixinha de arquivos permitidos
file_upload_limit : 100, // quantidade limite de upload de arquivos
file_queue_limit : 3, // limite de marcação de arquivos para upload
file_post_name: "uplfile", // Nome da variável que envia o conteudo do arquivo
custom_settings : {
progressTarget : "fsUploadProgress", // configurações do botão cancelar
cancelButtonId : "btnCancel"
},
debug: false, // debug do sistema, marque true para debugar o envio e corrigir erros
// Button settings
button_image_url: "swfupload/images/TestImageNoText_65x29.png",// imagem do botão procurar
button_width: "65", // largura do botão procurar
button_height: "29", // altura do botão procurar
button_placeholder_id: "spanButtonPlaceHolder", // id do elemento que conterá o botão procurar
button_text: 'Procurar', // Html de dentro do botão procurar
button_text_style: ".theFont { font-size: 16; }", // style do botão
button_text_left_padding: 9, // espaçamento esquerdo do botão
button_text_top_padding: 3, // espaçamento direito do botão
// Estes eventos são definidos em handlers.js
file_queued_handler : fileQueued, // ao selecionar arquivos
file_queue_error_handler : fileQueueError, // erro ao adicionar erros
file_dialog_complete_handler : fileDialogComplete, // seleção do arquivo completo ( somente um )
upload_start_handler : uploadStart, // início do upload
upload_progress_handler : uploadProgress, // progresso do upload
upload_error_handler : uploadError, // erro do upload
upload_success_handler : uploadSuccess, // sucesso do upload
upload_complete_handler : uploadComplete, // upload completo ( todos )
queue_complete_handler : queueComplete // seleção de todos os arquivos completo
};
swfu = new SWFUpload(settings); // envia as configurações para a classe
};
</script>
Obrigado desde já! Desculpem se ficou meio grande o post.
Discussão (4)
Carregando comentários...