Jump to content


Photo

Move_uploaded_file


  • Faça o login para participar
28 replies to this topic

#1 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 12/04/2004, 08:57

esse move_uploaded_file serve para que??
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#2 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 12/04/2004, 10:13

Quando o usuário envia uma formulário com um campo file (de arquivos), esse arquivo é copia para um diretório temporário no servidor, então você usa essa função para move-lo para uma pasta permanente ou o copy() para copia-lo.

Geralmente é utilizado o copy().
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#3 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 12/04/2004, 10:15

Serve para mover um arquivo que veio por upload, para um destino final. (Use a busca).

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.
Klaus Paiva
Conheça também: Taperás

#4 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 12/04/2004, 10:45

não entendi!!
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#5 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 12/04/2004, 10:57

Vamos tomar uns exemplos.

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.
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#6 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 12/04/2004, 11:06

cara...
...entendi mais ou menos:
eu ja mando copiar para uma pasta!!
ex:
copy($_POST['gravar'],"imagem/".$nome
onde 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()??
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#7 thalesalan

thalesalan
  • Visitantes

Posted 12/04/2004, 12:57

cara...
...entendi mais ou menos:
eu ja mando copiar para uma pasta!!
ex:

copy($_POST['gravar'],"imagem/".$nome
onde 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()??

Se a imagem já estiver em seu servidor e você só for copia-la e cola-la não.

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 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 12/04/2004, 13:09

se eu disser que entendi nada,vcs acreditam??
:(
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#9 thalesalan

thalesalan
  • Visitantes

Posted 12/04/2004, 13:10

se eu disser que entendi nada,vcs acreditam??
:(

Cara eu retirei isto da documentação, vou te passar em inglês para ver se ajuda: :P
http://br2.php.net/m...loaded-file.php

hehe

#10 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 12/04/2004, 13:31

Cara...
... Inglês,português nem em arabe eu entendo!!
hehehehe :D
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()??
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#11 thiagorsl

thiagorsl
  • Visitantes

Posted 12/04/2004, 13:35

Cara...
... Inglês,português nem em arabe eu entendo!!
hehehehe :D
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()??

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 é sua ;)

Resumindo é quase a mesma coisa ;)

#12 thalesalan

thalesalan
  • Visitantes

Posted 12/04/2004, 13:36

Cara...
... Inglês,português nem em arabe eu entendo!!
hehehehe :D
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()??

Assim:
<?
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 Marcão

Marcão

    Marcãaaaaaaaao

  • Usuários
  • 1754 posts
  • Sexo:Não informado
  • Interesses:Faixa preta de Muay-Thay<br>Faixa Roxa de Jiu-Jitsu<br>:D<br>Um dia eu chego lá

Posted 12/04/2004, 13:38

nesse caso o move_uploaded_file seria obrigatorio??
Marcão -=- PHP é coisa de MESTRE e falo mais nada -=-
Minha Foto
"Não temas,segue adiante,não olhes para trás!!
Segura na mão de
Deus e vai.."

#14 thiagorsl

thiagorsl
  • Visitantes

Posted 12/04/2004, 13:40

nesse caso o move_uploaded_file seria obrigatorio??

Em nenhum caso ele é obrigatorio vc pode usar um outro dependendo de vc basta vc escolher oq fazer ;)

#15 thalesalan

thalesalan
  • Visitantes

Posted 12/04/2004, 13:42

Como o Thiagorsl disse não é obrigatório. Mas é a função que eu considero melhor para isto... :D




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq