Ir para conteúdo

POWERED BY:

Arquivado

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

Dee

Upload de Arquivos

Recommended Posts

Fala Galera. Eu tenho esse código aqui que faz Uploads Múltiplos:

<?php

$properts = array();
$erro = FALSE;

$outputPath = "../sigla/";
$properts["size"] = "*";
$properts["mime_type"] = "*";
chmod($outputPath,0777);

$files = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;
$loops = count($files["name"]);
$cont = 1;

for($i=0; $i<$loops; $i++)
{
	if($properts["mime_type"] != "*")
	{
		if(!eregi("(".$properts["mime_type"].")", $files["type"][$i]))
		{
			echo "Erro, o arquivo <b>".$files["name"][$i]."</b> é inválido<br>";
			echo '<br>';
			echo '<a href="javascript:history.go(-1);">enviar outro arquivo</a>';
			$erro = TRUE;
			continue;
		}
	}

	if($properts["size"] != "*")
	{
		if($files["size"][$i] > $properts["size"])
		{
			echo 'Erro, o arquivo <b><i>"';
			echo $files["name"][$i];
			echo '"</i></b> não pode carregado porque é maior que ';
			echo ($properts["size"] / 1024);
			echo 'Kb.';
			echo '<br>';
			echo '<a href="javascript:history.go(-1);">enviar outro arquivo</a>';
			$erro = TRUE;
			continue;
		}
	}

	if($erro == FALSE)
	{
		$exito = move_uploaded_file($files["tmp_name"][$i], $outputPath.$files["name"][$i]);

		chmod($outputPath.$files["name"][$i],0777);
		if($cont == 1){
			echo "<br><br><font color='black' face='verdana' size='3'>   Os Arquivos: </font><br>";
		}
		echo "   <font color='red' face='verdana' size='3'><b>".$files["name"][$i]."</b></font><br>";
		$cont++;
		$var = true;
	}
}
if($var)
{
	echo "   <font color='black' face='verdana' size='3'>Foram Carregados Com Sucesso!</font><br>";
	echo "   <font color='#d7d7d7' face='verdana'>Redirecionando</font>";
	echo "<meta http-equiv='refresh' content='3;url=up.php'>";
}

?>

 

Os arquivos vem por meio de formulário.

Só que por exemplo, eu quero deixar 3 arquivos padrão para Upload.

Mas não estou conseguindo, parece que o value do input file, não funciona né. =\

Como eu faço para definir valores diretos(Endereço dos 3 Arquivos) para fazer o Upload ?

 

Obregadu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria mais fácil deixar o campo em branco camarada, no ato do upload, se não for indicada alguma imagem, você define padrão, as que estão já upadas. Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria mais fácil deixar o campo em branco camarada, no ato do upload, se não for indicada alguma imagem, você define padrão, as que estão já upadas. Entendeu ?

 

Entendi, é isso que quero. Mas como defino padrão ? =)

Não consegui igualar tipo:

 

$_FILES['arquivo'] = "c:\\woeiwoe\owieow.doc";

anderstãdi ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não faz sentido você faz isso, acha que em todas as máquinas de todos os clientes, vai conter esse arquivo ???... não né.

 

você tem que deixar esse arquivo já no servidor pronto... e colocar o caminho dele no banco de dados

 

quando alguém fizer o upload no formulário, se deixar em branco, na hora de exibir os arquivos, você faz a verificação, no campo da tabela, caso seja NULL, você exibe o arquivo padrão, que deverá estar dentro de uma condição IF.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao quero exibir arquivo, quero deixar as variavies nos caminhos corretos dos arquivos.

Sempre serão os mesmo arquivos.

Eu nem disse para que finalidade era, não é para nenhum cliente.

É para minha empresa.

Fiz uma página de Upload múltiplos, mas quero criar um botão que faz o Upload dos arquivos padrôes.

 

Dae é o que você falou, verifico se os campos estão vazios e se tiver faz um Up padrão.

Mas o que quero saber, é como eu deixo padrão os endereços dos arquivos nas variáveis para eu fazer um upload.

 

Tipo assim:

 

if(empty($_FILES['arquivos']))
{
   $arquivos[]  = ""; // o que eu coloco aqui ? endereço do arquivo ? Eu já coloquei, não funcionou.
   $arquivos[]  .= ""; // como é multiplo, estou colocando num array().
   $arquivos[]  .= ""; //
}

 

É assim, como é ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

uploadear arquivo padrão não existe...

 

legalmente não, pois seria crime um auto-upload de arquivos do pc client-side.

 

se é obrigatório enviar 3 arquivos, não bastaria definir obrigatoriedade para os 3 campos?

 

se o usuário não preencher, retorne mensagem de erro.

 

se for obrigatório exibir sempre os 3 arquivos e se esses arquivos forem sempre os mesmos, então não precisa fazer upload.. deixe-os diretamente no servidor..

 

 

se não for nada disso, então está muito confuso o que você pretende fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu nao quero exibir nenhum arquivo!!

Nós temos um sistema aqui, que sempre tem que colocar o atualizavel na Internet, no FTP.

Mas, eh chato ficar abrindo o FTP toda hora, digitar login, senha, ir na pasta, copiar e colar.

Entao eu fiz uma página para resumir isso. Colocando 3 campos, onde serão enviados arquivos para sua determinada pasta.

 

e nessa página tem dois botões:

ENVIAR e ENVIAR PADRÃO

 

ENVIAR = Envia os arquivos escolhidos pelo usuário, que nesse caso é o meu chefe, mais ninguém.

ENVIAR PADRÃO = Envia 3 arquivos definidos, sem precisar escolher.

 

Eu nao comentei nada de servidor.

Nao comentei nada de Client-Side.

 

se é obrigatório enviar 3 arquivos, não bastaria definir obrigatoriedade para os 3 campos?

 

Como eu defino obrigatoriamente isso ? Não sei. Isso que quero saber, como deixar definido caso os campos estejam vazios. É tipo que definir um value para eles, mas não funciona o value, ou funciona ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vejo solução pra você em PHP. Vejamos:

Para fazer o que você quer, teria que definir o caminho padrão no arquivo que recebe os dados do formulário. Só que você usa o move_uploaded_file, que trabalha com arquivos "uploadeados". Como no caso do arquivo padrão não foi feito upload, a função não vai funcionar e acredito que nenhuma função do PHP vai funcionar, porque não vão conseguir "pegar" o arquivo padrão do computador do cliente.

 

TALVEZ você consiga fazer isto em Java (não JS, JAVA mesmo - veja que eu coloquei TALVEZ). Agora, com PHP, sem chance. Se quiser, posso mover seu tópico pra lá, é só avisar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Haa entendi Carlos.

Não precisa mover não, o servidor aqui não tem suporte pra Java.

=\

 

Pode trancar o tópico. Obrigado!

 

Diego Souza

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu nao quero exibir nenhum arquivo!!

Nós temos um sistema aqui, que sempre tem que colocar o atualizavel na Internet, no FTP.

Mas, eh chato ficar abrindo o FTP toda hora, digitar login, senha, ir na pasta, copiar e colar.

Entao eu fiz uma página para resumir isso. Colocando 3 campos, onde serão enviados arquivos para sua determinada pasta.

 

e nessa página tem dois botões:

ENVIAR e ENVIAR PADRÃO

 

ENVIAR = Envia os arquivos escolhidos pelo usuário, que nesse caso é o meu chefe, mais ninguém.

ENVIAR PADRÃO = Envia 3 arquivos definidos, sem precisar escolher.

 

Eu nao comentei nada de servidor.

Nao comentei nada de Client-Side.

???

 

foi exatamente isso que entendi..

 

você está fazendo confusão..

 

por políticas básicas de segurança não é permitido definir um arquivo DEFAULT para uploadear sem permissão do lado client-side..

 

imagine se isso fosse permitido.

você entrar numa página e "do nada" é feito upload de seus arquivos..

 

 

 

 

 

 

Como eu defino obrigatoriamente isso ? Não sei. Isso que quero saber, como deixar definido caso os campos estejam vazios. É tipo que definir um value para eles, mas não funciona o value, ou funciona ?

???

 

if()

}else{

}

 

SE enviou campo vazio ENTÃO
    não permite continuar.. 
    retorne mensagem dizendo que é obrigatório
SENÃO
    continue..
FIM SE

Compartilhar este post


Link para o post
Compartilhar em outros sites

você que nao entendeu cara.

imagine se isso fosse permitido.

você entrar numa página e "do nada" é feito upload de seus arquivos..

 

Eu falei que eh "do nada" ? Eu disse que tem um botão que vai fazer isso.

<input type='file' value = 'c:\down\arquivo2.zip'>
Isso que eu to falando que nao deu certo. Deixar um valor fixado.

 

Se nao tem solução, nao precisa ficar dando up no topico falando que eu nao to entendendo o que vcs tao querendo dizer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente isso que comentei nos posts acima..

 

Não é permitido fazer isso por políticas básicas de segurança.

 

Não é possível atribuir valor à entradas do tipo "file" sem autorização expressa do lado cliente (usuário).

 

Se isso fosse possível "qualquer um" poderia roubar arquivos client-side.

 

 

 

Uma solução para o caso, e se for realmente necesário fazer algo assim, seria instalação de algum plugin client-side.

 

Se for um aplicativo para uso particular, por exemplo, dentro de uma empresa, não precisa de homologação.

 

Se for aplicativo voltado ao público, precisa estar dentro dos termos das leis.

 

Para saber como desenvolver um plugin ou algo do gênero, consulte os fóruns de Programação.

 

Caso queira suporte particular consulte o forum Empregos / Currículos / Parcerias e Negócios ou Mercado iMasters

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.