
Move_uploaded_file
#1
Posted 12/04/2004, 08:57
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#2
Posted 12/04/2004, 10:13
Geralmente é utilizado o copy().
#3
Posted 12/04/2004, 10:15
Porquê é necessário mover? Quando alguém faz um upload pelo seu formulário, primeiramente o arquivo vai para a pasta temporária do server, que ficará lá temporariamente, então, se você não "move_uploaded_file()", você perderá o arquivo.
#4
Posted 12/04/2004, 10:45
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#5
Posted 12/04/2004, 10:57
Aqui no fórum você tem o formulário que envia o avatar para você. O campo onde você escolhe uma imagem do seu computador é um campo do tipo FILE (que envia arquivos).
Depois de escolher essa imagem e enviar o formulário, essa imagem que você enviou é copiada para uma pasta temporária no servidor, e se ela não for movida de lá, ela simplesmente será apagada.
Para você manter ela salva, você deve copia-la para outra pasta, ou move-la. E é isso que faz o comando move_uploaded_file().
Move essa imagem da pasta temporária para uma pasta específica no seu servidor.
#6
Posted 12/04/2004, 11:06
...entendi mais ou menos:
eu ja mando copiar para uma pasta!!
ex:
copy($_POST['gravar'],"imagem/".$nomeonde gravar é o input file e $nome é o nome da imagem marco.jpg9fiz uma logica que contava de tras para frente e pegava esse nome) e imagem é a pasta onde ficam todas as imagens!!
seria preciso esse move_uploaded_file()??
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#7
thalesalan
Posted 12/04/2004, 12:57
Se a imagem já estiver em seu servidor e você só for copia-la e cola-la não.cara...
...entendi mais ou menos:
eu ja mando copiar para uma pasta!!
ex:copy($_POST['gravar'],"imagem/".$nomeonde gravar é o input file e $nome é o nome da imagem marco.jpg9fiz uma logica que contava de tras para frente e pegava esse nome) e imagem é a pasta onde ficam todas as imagens!!
seria preciso esse move_uploaded_file()??
Veja a respeito da move_uploaded_file:
move_uploaded_file
(PHP 4 >= 4.0.3)
move_uploaded_file -- Move um arquivo carregado para uma nova localização
Descrição
bool move_uploaded_file ( string nomedoarquivo, string destino)
Esta função primeiro checa o arquivo informado nomedoarquivo é um arquivo válido uploadeado (significando que ele foi carregado pelo mecanismo do PHP de HTTP POST). Se o arquivo é válido, ele será movido para o nomedoarquivo dado pelo destino.
Se nomedoarquivo não é um arquivo carregado válido, então não haverá nenhuma ação e move_uploaded_file() irá retornar FALSE.
Se nomedoarquivo é um arquivo uploadeado válido e não pode ser movido por alguma razão, nenhuma ação irá ocorrer, e move_uploaded_file() irá retornar FALSE. Adicionalmente, um aviso será emitido.
Este tipo de confirmação é importante principalmente se existe alguma chance que qualquer coisa feita com os arquivos carregados poderem revelar o seu conteúdo para o usuário, ou mesmo para outros usuários no mesmo sistema.
Nota: Quando o safe-mode está ativo, o PHP verifica se o(s) arquivo(s) e/ou diretório(s) que serão afetados por esta operação tem o mesmo UID (proprietário) do script que está sendo executado.
Nota: move_uploaded_file() não é afetado pelas restrições de UIN normais do safe mode. Isto não é inseguro porque move_uploaded_file() somente opera sobre arquivos carregados pelo PHP.
Atenção
Se o arquivo destino já existir, então ele será sobrescrito.
Fresquinho da doc.
#8
Posted 12/04/2004, 13:09

Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#9
thalesalan
Posted 12/04/2004, 13:10
Cara eu retirei isto da documentação, vou te passar em inglês para ver se ajuda:se eu disser que entendi nada,vcs acreditam??

http://br2.php.net/m...loaded-file.php
hehe
#10
Posted 12/04/2004, 13:31
... Inglês,português nem em arabe eu entendo!!
hehehehe

ve só:
eu testei local e pegou:
index.php
<html> <head><title>Gravar Foto</title> </head> <body> <form action="gravar.php" method="post" name="form1"> <table width="75%" border="1"> <tr> <td><input name="MAX_FILE_SIZE" type="hidden"></td> </tr> <tr> <b>Arquivo :</b> <td><input name="gravar" type="file"></td> </tr> <tr> <td><textarea name="texto" cols="20" rows="3"></textarea></td> </tr> <tr> <td><input name="submit" type="submit" value="Enviar"></td> </tr> </table> </form> </body> </html>gravar.php
<? for ($i=strlen($gravar); $i>0;$i--){ if (substr($gravar,$i,1)=="\\"){ break; } else{ $nome = substr($gravar,$i,1) . $nome; } } if (!(eregi(".jpg", $nome) || eregi(".gif", $nome))) { echo "Arquivo com extensão inválida"; exit(); } $MaxSize = 90; if($gravar_size/1024 < $MaxSize){ echo "Tamanho da imagem Inválida!!"; exit(); } if (copy($_POST['gravar'],"imagem/".$nome)) { require("banco.php"); mysql_select_db("foto"); $sql = "insert into imagem (nome,comentario) values ('$nome','$texto') "; $result = mysql_query($sql); mysql_close($conexao); print ("Arquivo Copiado"); } else echo "Erro"; ?>onde ficaria esse move_uploaded_file()??
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#11
thiagorsl
Posted 12/04/2004, 13:35
Olha o move_upload file é uma especie de copy só que só funcona com uploads , já o copy funciona com qualuqer arquivo agora se vc quer trocar o copy pelo move a escolha é suaCara...
... Inglês,português nem em arabe eu entendo!!
hehehehe
ve só:
eu testei local e pegou:
index.php<html> <head><title>Gravar Foto</title> </head> <body> <form action="gravar.php" method="post" name="form1"> <table width="75%" border="1"> <tr> <td><input name="MAX_FILE_SIZE" type="hidden"></td> </tr> <tr> <b>Arquivo :</b> <td><input name="gravar" type="file"></td> </tr> <tr> <td><textarea name="texto" cols="20" rows="3"></textarea></td> </tr> <tr> <td><input name="submit" type="submit" value="Enviar"></td> </tr> </table> </form> </body> </html>gravar.php<? for ($i=strlen($gravar); $i>0;$i--){ if (substr($gravar,$i,1)=="\\"){ break; } else{ $nome = substr($gravar,$i,1) . $nome; } } if (!(eregi(".jpg", $nome) || eregi(".gif", $nome))) { echo "Arquivo com extensão inválida"; exit(); } $MaxSize = 90; if($gravar_size/1024 < $MaxSize){ echo "Tamanho da imagem Inválida!!"; exit(); } if (copy($_POST['gravar'],"imagem/".$nome)) { require("banco.php"); mysql_select_db("foto"); $sql = "insert into imagem (nome,comentario) values ('$nome','$texto') "; $result = mysql_query($sql); mysql_close($conexao); print ("Arquivo Copiado"); } else echo "Erro"; ?>onde ficaria esse move_uploaded_file()??

Resumindo é quase a mesma coisa

#12
thalesalan
Posted 12/04/2004, 13:36
Assim:Cara...
... Inglês,português nem em arabe eu entendo!!
hehehehe
ve só:
eu testei local e pegou:
index.php<html> <head><title>Gravar Foto</title> </head> <body> <form action="gravar.php" method="post" name="form1"> <table width="75%" border="1"> <tr> <td><input name="MAX_FILE_SIZE" type="hidden"></td> </tr> <tr> <b>Arquivo :</b> <td><input name="gravar" type="file"></td> </tr> <tr> <td><textarea name="texto" cols="20" rows="3"></textarea></td> </tr> <tr> <td><input name="submit" type="submit" value="Enviar"></td> </tr> </table> </form> </body> </html>gravar.php<? for ($i=strlen($gravar); $i>0;$i--){ if (substr($gravar,$i,1)=="\\"){ break; } else{ $nome = substr($gravar,$i,1) . $nome; } } if (!(eregi(".jpg", $nome) || eregi(".gif", $nome))) { echo "Arquivo com extensão inválida"; exit(); } $MaxSize = 90; if($gravar_size/1024 < $MaxSize){ echo "Tamanho da imagem Inválida!!"; exit(); } if (copy($_POST['gravar'],"imagem/".$nome)) { require("banco.php"); mysql_select_db("foto"); $sql = "insert into imagem (nome,comentario) values ('$nome','$texto') "; $result = mysql_query($sql); mysql_close($conexao); print ("Arquivo Copiado"); } else echo "Erro"; ?>onde ficaria esse move_uploaded_file()??
<? for ($i=strlen($gravar); $i>0;$i--){ if (substr($gravar,$i,1)=="\\"){ break; } else{ $nome = substr($gravar,$i,1) . $nome; } } if (!(eregi(".jpg", $nome) || eregi(".gif", $nome))) { echo "Arquivo com extensão inválida"; exit(); } $MaxSize = 90; if($gravar_size/1024 < $MaxSize){ echo "Tamanho da imagem Inválida!!"; exit(); } if ([B]move_uploaded_file($gravar, "imagen/$gravar_name")[/B]) { require("banco.php"); mysql_select_db("foto"); $sql = "insert into imagem (nome,comentario) values ('$nome','$texto') "; $result = mysql_query($sql); mysql_close($conexao); print ("Arquivo Copiado"); } else echo "Erro";
#13
Posted 12/04/2004, 13:38
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de Deus e vai.."
#14
thiagorsl
Posted 12/04/2004, 13:40
Em nenhum caso ele é obrigatorio vc pode usar um outro dependendo de vc basta vc escolher oq fazernesse caso o move_uploaded_file seria obrigatorio??

#15
thalesalan
Posted 12/04/2004, 13:42

1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)