Array
(
)

Disponibilizando e limitando espaço de armazenamento para usuários.

PHP
Cleyton Caetano
   - 05 jan 2015

Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?

Jothaz
   - 05 jan 2015


Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Só algumas considerações:

Este espaço é para qualquer usuário?

Você pensou que os arquivos podem ter conteúdo ilegal: pirataria, vírus, pedofilia, pornografia e etc?

Vai existir algum filtro de conteúdo?

Cleyton Caetano
   - 05 jan 2015


Citação:

Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Só algumas considerações:

Este espaço é para qualquer usuário?

Você pensou que os arquivos podem ter conteúdo ilegal: pirataria, vírus, pedofilia, pornografia e etc?

Vai existir algum filtro de conteúdo?


Sim, qualquer usuário cadastrado, e se ele vai salvar o arquivo provavelmente vai querer disponibilizá-lo para download, caso o conteúdo seja ilegal outras pessoas podem denunciar o arquivo, existe algum filtro que faça esse serviço?

Jothaz
   - 05 jan 2015

Fiz os questionamentos por achar temeroso deixar o usuário fazer upload e disponibilizar download de arquivos, pois a probabilidade dar algum problema é grande.
E no caso o primeiro a sofrer é o site que hospeda os arquivos. E o site em questão pode ficar marcado como não confiável, como acontece com alguns sites.
Então só como precaução procure se informar como se resguardar juridicamente caso aconteça algum problema.

Filtros existem, sinceramente não os conheço, mas youtube, facebook entre outros possuem estes filtros. Seria o caso de se pesquisar mais a fundo sobre o assunto, principalmente sobre: Copyright, pedofilia e Malwares.

Com relação a limitar o espaço acho que seria sempre que o usuário efetuar um upload verificar o total de espaço já usado e barrar ser for maior que os 40 Gigas. Isto poderia ser feito através de um banco de dados onde seriam persistidas as informações da pasta. Talvez outras pessoas possam sugerir alguma outra forma.

Outro ponto importante é que se os arquivos vão ficar disponíveis para download acredito que possa impactar na performance do site. Então deve-se levar isto em conta.
Você usa qual host?

Marcelo Pastore
   - 05 jan 2015

Uma duvida quanto a isso, compramos espaço em disco e podemos fazer "serviços" iguais aos sites citados acima?

Cleyton Caetano
   - 05 jan 2015


Citação:
Fiz os questionamentos por achar temeroso deixar o usuário fazer upload e disponibilizar download de arquivos, pois a probabilidade dar algum problema é grande.
E no caso o primeiro a sofrer é o site que hospeda os arquivos. E o site em questão pode ficar marcado como não confiável, como acontece com alguns sites.
Então só como precaução procure se informar como se resguardar juridicamente caso aconteça algum problema.

Filtros existem, sinceramente não os conheço, mas youtube, facebook entre outros possuem estes filtros. Seria o caso de se pesquisar mais a fundo sobre o assunto, principalmente sobre: Copyright, pedofilia e Malwares.

Com relação a limitar o espaço acho que seria sempre que o usuário efetuar um upload verificar o total de espaço já usado e barrar ser for maior que os 40 Gigas. Isto poderia ser feito através de um banco de dados onde seriam persistidas as informações da pasta. Talvez outras pessoas possam sugerir alguma outra forma.

Outro ponto importante é que se os arquivos vão ficar disponíveis para download acredito que possa impactar na performance do site. Então deve-se levar isto em conta.
Você usa qual host?

uso o hostinger.com.br

Cleyton Caetano
   - 05 jan 2015


Citação:
Uma duvida quanto a isso, compramos espaço em disco e podemos fazer "serviços" iguais aos sites citados acima?

pensando em como fazer o projeto sim, quero criar um site separado, mas com banco de dados sincronizados, para que cada usuário que esteja logado no meu site esteja automaticamente logado no outro, algo parecido como que o google faz, e sim caso o usuário queira mais espaço poderá sim aumentar!

Marcelo Pastore
   - 05 jan 2015

Não tem nada haver com a hospedagem não é?

Cleyton Caetano
   - 05 jan 2015


Citação:
Não tem nada haver com a hospedagem não é?

hospedagem de sites não, mas hospedagem de arquivos!

Marcelo Pastore
   - 05 jan 2015

Como imaginava, mas existem empresas de hospedagens que trabalham com os dois, conhece alguma?

Cleyton Caetano
   - 05 jan 2015


Citação:
Como imaginava, mas existem empresas de hospedagens que trabalham com os dois, conhece alguma?

não..

Jothaz
   - 05 jan 2015


Citação:

uso o hostinger.com.br


Com relação a limitar o espaço é trabalhoso mas possível.
Fiz algo parecido em ASP clássico. Usava o FSO (File System Object) para obter as informações dos arquivos na pasta. Como era só para alguns clientes de um escritório de contabilidade trocar arquivos foi bem simples.

Talvez nem precise de banco de dados, basta obter o total de espaço ocupado e o tamanho do arquivo enviado por upload. Se passar o limite avisa.

Com relação a filtrar o conteúdo só pesquisando mesmo, ou esperar que alguém aqui do fórum dê alguma sugestão.

Agora se informe sobre a parte jurídica para evitar futuros transtornos.

Ronaldo Lanhellas
   - 05 jan 2015


Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Bom, uma maneira de fazer isso é colocando um contador de tamanho de arquivo, onde cada vez que um novo upload for feito o seu programa irá calcular o tamanho do arquivo e somar a um contador já existente. Quando o tamanho de 40GB for atingido você não deixa mas que o upload seja feito.

Teoricamente falando, é relativamente simples. É só ter cuidado com o que será enviado/upload.

Ronaldo Lanhellas
   - 05 jan 2015


Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Bom, uma maneira de fazer isso é colocando um contador de tamanho de arquivo, onde cada vez que um novo upload for feito o seu programa irá calcular o tamanho do arquivo e somar a um contador já existente. Quando o tamanho de 40GB for atingido você não deixa mas que o upload seja feito.

Teoricamente falando, é relativamente simples. É só ter cuidado com o que será enviado/upload.

Cleyton Caetano
   - 05 jan 2015


Citação:

Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Bom, uma maneira de fazer isso é colocando um contador de tamanho de arquivo, onde cada vez que um novo upload for feito o seu programa irá calcular o tamanho do arquivo e somar a um contador já existente. Quando o tamanho de 40GB for atingido você não deixa mas que o upload seja feito.

Teoricamente falando, é relativamente simples. É só ter cuidado com o que será enviado/upload.


já vi essa possibilidade, mas caso o usuário apague um arquivo? existe alguma forma de pegar o tamanho de uma pasta em php? como o jothaz fez...

Citação:
Fiz algo parecido em ASP clássico. Usava o FSO (File System Object) para obter as informações dos arquivos na pasta. Como era só para alguns clientes de um escritório de contabilidade trocar arquivos foi bem simples.

Cleyton Caetano
   - 05 jan 2015

estava pesquisando e vi algo sobre essa classe PHP.

#Código

disk_total_space()


#Código
http://php.net/manual/en/function.disk-total-space.php


será se ela pode ser útil?

Jothaz
   - 05 jan 2015


Citação:
estava pesquisando e vi algo sobre essa classe PHP.

#Código

disk_total_space()


#Código
http://php.net/manual/en/function.disk-total-space.php


será se ela pode ser útil?

Da uma olhada ,talvez lhe dê uma luz:

http://uk.php.net/filesystem

http://uk.php.net/dir

Cleyton Caetano
   - 05 jan 2015


Citação:

Citação:
estava pesquisando e vi algo sobre essa classe PHP.

#Código

disk_total_space()


#Código
http://php.net/manual/en/function.disk-total-space.php


será se ela pode ser útil?

Da uma olhada ,talvez lhe dê uma luz:

http://uk.php.net/filesystem

http://uk.php.net/dir

vou da uma analizada!

Ronaldo Lanhellas
   - 05 jan 2015


Citação:

Citação:

Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Bom, uma maneira de fazer isso é colocando um contador de tamanho de arquivo, onde cada vez que um novo upload for feito o seu programa irá calcular o tamanho do arquivo e somar a um contador já existente. Quando o tamanho de 40GB for atingido você não deixa mas que o upload seja feito.

Teoricamente falando, é relativamente simples. É só ter cuidado com o que será enviado/upload.


já vi essa possibilidade, mas caso o usuário apague um arquivo? existe alguma forma de pegar o tamanho de uma pasta em php? como o jothaz fez...

Citação:
Fiz algo parecido em ASP clássico. Usava o FSO (File System Object) para obter as informações dos arquivos na pasta. Como era só para alguns clientes de um escritório de contabilidade trocar arquivos foi bem simples.


Sim claro, você tem que controlar inserções e deleções de arquivos, igual um CRUD comum. Não deixa de ser um CRUD com um Bean Arquivo.
1 - Inseriu então aumenta o espaço usado;
2 - Deletou então diminui o espaço usado;

Dica: CAda registro no banco deve ser relacionado a 1 arquivo contendo o seu tamanho real, assim quando for calcular o espaço usado fica fácil.

Cleyton Caetano
   - 05 jan 2015


Citação:

Citação:

Citação:

Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Bom, uma maneira de fazer isso é colocando um contador de tamanho de arquivo, onde cada vez que um novo upload for feito o seu programa irá calcular o tamanho do arquivo e somar a um contador já existente. Quando o tamanho de 40GB for atingido você não deixa mas que o upload seja feito.

Teoricamente falando, é relativamente simples. É só ter cuidado com o que será enviado/upload.


já vi essa possibilidade, mas caso o usuário apague um arquivo? existe alguma forma de pegar o tamanho de uma pasta em php? como o jothaz fez...

Citação:
Fiz algo parecido em ASP clássico. Usava o FSO (File System Object) para obter as informações dos arquivos na pasta. Como era só para alguns clientes de um escritório de contabilidade trocar arquivos foi bem simples.


Sim claro, você tem que controlar inserções e deleções de arquivos, igual um CRUD comum. Não deixa de ser um CRUD com um Bean Arquivo.
1 - Inseriu então aumenta o espaço usado;
2 - Deletou então diminui o espaço usado;

Dica: CAda registro no banco deve ser relacionado a 1 arquivo contendo o seu tamanho real, assim quando for calcular o espaço usado fica fácil.


estou achando que vai ser dessa forma mesmo que vou fazer, inclusive estou pensando em usar esse código pera pegar o tamanho do arquivo em questão..

#Código

<?php 
					$filename = 'arquivo.zip';
					echo $filename . ': ' . filesize($filename) . ' bytes';
				?>

Ronaldo Lanhellas
   - 07 jan 2015


Citação:

Citação:

Citação:

Citação:

Citação:
Pessoal, eu to pensando em liberar um espaço de armazenamento para os usuários do meu site, para que eles possam armazenar arquivos como fazem alguns sites como 4shared, Mega, MideaFire, SendSpace e outros milhares, mas queria deixar disponível somente 40 Gigas para cada, como faço isso? alguma idéia?


Bom, uma maneira de fazer isso é colocando um contador de tamanho de arquivo, onde cada vez que um novo upload for feito o seu programa irá calcular o tamanho do arquivo e somar a um contador já existente. Quando o tamanho de 40GB for atingido você não deixa mas que o upload seja feito.

Teoricamente falando, é relativamente simples. É só ter cuidado com o que será enviado/upload.


já vi essa possibilidade, mas caso o usuário apague um arquivo? existe alguma forma de pegar o tamanho de uma pasta em php? como o jothaz fez...

Citação:
Fiz algo parecido em ASP clássico. Usava o FSO (File System Object) para obter as informações dos arquivos na pasta. Como era só para alguns clientes de um escritório de contabilidade trocar arquivos foi bem simples.


Sim claro, você tem que controlar inserções e deleções de arquivos, igual um CRUD comum. Não deixa de ser um CRUD com um Bean Arquivo.
1 - Inseriu então aumenta o espaço usado;
2 - Deletou então diminui o espaço usado;

Dica: CAda registro no banco deve ser relacionado a 1 arquivo contendo o seu tamanho real, assim quando for calcular o espaço usado fica fácil.


estou achando que vai ser dessa forma mesmo que vou fazer, inclusive estou pensando em usar esse código pera pegar o tamanho do arquivo em questão..

#Código

<?php 
					$filename = 'arquivo.zip';
					echo $filename . ': ' . filesize($filename) . ' bytes';
				?>


Sim. Esse é o caminho.