Jump to content

Sistema de upload de arquivos


Recommended Posts

Posted

Sistema de upload de arquivos

Este tutorial tem como meio, explicar como fazer upload de arquivos para o servidor, está simples...

Crie um arquivo chamado upload.htm com o seguinte:

<html>
<body>
<form action="upload.php" method="POST" enctype="multipart/form-data">
Arquivo: <input type="file" name="file"><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

Explicando, aqui é um simples formulário, em que, este object file, faz aparecer aquelas janelinhas de escolher os arquivos! no enctype pode especificar, sendo imagens jpg, gif, arquivos exe, como desejar!

Crie um arquivo chamado upload.php com o seguinte código:

<?php
$destino = "/destino"; //Pasta onde serão armazenados os uploads

$mandar = $destino."/".$file_name;
if(!move_uploaded_file($file, $mandar)) {
   echo "O arquivo não pode ser enviado!";
}
else {
   echo "O arquivo foi enviado!";
}
echo"Quer enviar mais arquivos? <a class=\"link\" href=\"upload.htm\">Clique aqui</a>"
?>

Explicando cada função e cada variável:

a variável $destino esta armazenando o destino para onde será enviado o arquivo

A variável $mandar está encarregada de colocar o destino e o nome do arquivo, então ficaria assim: /destino/filename.extensão

if(!move_uploaded_file($file, $mandar)) {

Esta parte ja mostra que se, acontecer de que move_uploaded_file($file, $mandar)

for igual a 0, que significa false, ela imprimirá a mensagem de erro, caso não, irá imprimir uma mensagem de OK!

Agora preguntam, como eu exibo o arquivo que o user me mandou?

É muito simples, é só colocar este código no final da página:

echo "O arquivo enviado foi este: $file";

Ps: É necessario dar CHMOD 777 na pasta de destino no servidor!

  • Replies 70
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

Estive a ler e etnho duas perguntas :

1º Que devo acrescentar se, antes de se colocar algum arquivo através de um ipload, o membro se tiver de registar com nome, senha, etc, etc....

Sei que a resolução para esta questão é algo complicada, mas expliquem-me que eu faço...

2º Que devo fazer para construi­r uma ligação desse site a uma base de dados alojada no meu pc? (já uso o programa do satanuke por isso tanto o site como a db vão ficar armazenados aqui no meu pc....)

Fiquem bem B)

Posted

Ora bem, para isso deverias ter uma base de dados com os utilizadores registado, seja em ficheiros, numa BD MySQL, etc...Depois tens que validar o user no acto de login. Para mim isto já é uma coisa muito á frente porque nunca fiz nada do genero em PHP. Mas creio deve haver por aqui algum user que seja capaz de te ajudar mais nisto...

  • 1 month later...
  • 8 months later...
Posted

Provavelmente o servidor é Unix Based para estarem a dizer isso, pois chmod é um comando que dá permissões aos ficheiros e directórios nos sistemas unix (mac, gnu/linux incluídos).

  • 3 weeks later...
Posted
Em 15/04/2006 às 14:47, vbmaster disse:

Provavelmente o servidor é Unix Based para estarem a dizer isso, pois chmod é um comando que dá permissões aos ficheiros e directórios nos sistemas unix (mac, gnu/linux incluídos).

e como é que se faz isso? já agora é assim, o meu site é www.jeg.addyour.net eu fix um upload.php assim:

<?php
$var = $_GET["action"];
switch ($var){
case "enviar":

$destino = "/Uploads"; //Pasta onde serão armazenados os uploads

$mandar = $destino."/".$file_name;
if(!move_uploaded_file($file, $mandar)) {
   echo "O arquivo nÃo pode ser enviado!";
}
else {
   echo "O arquivo foi enviado!";
   echo "O arquivo enviado foi este:". $file;
}
echo'Quer enviar mais arquivos? <a class="link" href="uploads.php">Clique aqui</a>';

	break;

default:
?>
 <form action="Uploads.php?action=enviar" method="POST" enctype="multipart/form-data">
Arquivo: <input type="file" name="file"><br>
<input type="submit" value="Enviar">
</form>
<?php
break;
};

?>

eu criei a pasta Uploads ficando assim no meu ftp: Public_html/Uploads/*e aqui ficariam as imagens...

e dá-me um erro :S

Warning: move_uploaded_file(): open_basedir restriction in effect. File(/Uploads/50_Cent_Bulletproof_Dvd_pal-front.jpg) is not within the allowed path(s): (/home/jegd:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/jegd/public_html/Uploads.php on line 14

O arquivo não pode ser enviado!Quer enviar mais arquivos? Clique aqui

line 14:

if(!move_uploaded_file($file, $mandar)) {

e já agora, eu nao posso dar um nome à minha escola no fixeiro? e outra coisa, no upload.php que tu fizest, onde é que ele recebe o conteudo das variaveis? nao devia ter um $file_name = $_POST["file"];

Por exemplo.... Cumps..

Posted

Já confirmas-te as permições?

Já confirmas-te se por exemplo

$mandar = $destino."/".$file_name;

aqui a variavel $mandar assume MESMO bem o que é suposto assumir? Confirma minusculas/maiusculas.

o problema é por permissão :S que eu nao sei :S

A cena que dá é isto:

Warning: move_uploaded_file(): open_basedir restriction in effect. File(/usersimages/numb.gif) is not within the allowed path(s): (/home3/freemind:/usr/lib/php:/usr/local/lib/php:/tmp) in /home3/freemind/public_html/Uploads.php on line 9

O arquivo nÃo pode ser enviado!Quer enviar mais arquivos? Clique aqui

  • 1 month later...
Posted
Ps: É necessario dar CHMOD 777 na pasta de destino no servidor!

como e que eu posso fazer isto??? e que com a explicação que deram eu n entendi.

Our lives begin to end the day we become silent about things that matter - Martin Luther King

Posted

lol, liga-te ao teu servidor via ftp, e depois clique com o botao do lado direito em cima duma paasta, e aaxo k tem lá qualquer cena de opções, e tem cenas do tipo, write, read, etc.. ve se encontras, e depois poes um visto em todos, que vai ficar um CHMOD 777 😄

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.