Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problemas com arquivo temporario.


SenOTS

Pergunta

Caros amigos,

Esse problemas é algo sobrenatural, fiz o programa de upload usando move_uploaded_file(), quando vou escolher o arquivo para enviar para o servidor, alguns arquivos são carregados para o temp, outros não. já tentei identificar um padrão mas isso até agora não existe, obervem os recursos que tentei usar antes de postar esta duvida:

Trocar a função move_uploaded_file() por copy()

Imprimir depois do upload a variavel $arquivo_temporario, que é a variavel que recebe o

$_FILES["arquivo"]["tmp_name"];
mexi na configuração o php.ini na parte de upload, trocando a valor da UPLOAD FILE upload_tmp_dir ="C:\WINDOWS\TEMP\"
enfim fiz varias coisas, mas o resultado é sempre o mesmo alguns arquivos .JPG ou .jpeg ou .JPEG que estão definidos na função simplesmente não carregam para a variavel temporária. Isso acontece no servidor local. ainda não testei na web, porque falta algumas permissões e alguns erros a serem resolvidos, por exemplo: C:\WINDOWS\Temp\php4CDA.tmpnada Warning: chmod(): No such file or directory in E:\vhosts\site.com.br\httpdocs\executa_upload.php on line 38 Warning: move_uploaded_file(www.site.com.br/bot_agenda.gif): failed to open stream: No such file or directory in E:\vhosts\site.com.br\httpdocs\executa_upload.php on line 39 Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\Temp\php4CDA.tmp' to 'www.site.com.br/bot_agenda.gif' in E:\vhosts\site.com.br\httpdocs\executa_upload.php on line 39 O arquivo não pode ser copiado para o servidor www.site.com.br/ bot_agenda.gif :wacko: Tem horas que eu olho para o cdigo e não vejo nada por favor preciso de uma força. :wacko: este é o codigo
<?php
//set_time_limit(0);
$limitar_ext="sim";
$extensoes_validas=array(".gif",".jpg",".jpeg",".JPG",".JPEG",".bmp");
$caminho_absoluto="www.site.com.br/";
$limitar_tamanho="não";
$tamanho_bytes="200000";
$sobrescrever="não";

$nome_arquivo=$_FILES["arquivo"]["name"];
$tamanho_arquivo=$_FILES["arquivo"]["size"];
$arquivo_temporario=$_FILES["arquivo"]["tmp_name"];

echo "$arquivo_temporario";
echo "nada";
if(!empty($nome_arquivo))
{
    
    if($sobrescrever=="não" && file_exists($caminho_absoluto.$nome_arquivo)) 
        die ("Arquivo já existe");
    if(($limitar_tamanho=="sim")&&($tamanho_arquivo > $tamanho_bytes)) 
        die ("Arquivo deve ter no máximo $tamanho_bytes bytes.");
    
    
        $ext=strrchr($nome_arquivo,'.');
    
    
    if(($limitar_ext=="sim") && (!in_array($ext,$extensoes_validas))) 
        die ("Extensao invalida");
    chmod($caminho_absoluto.$nome_arquivo,0777);
    if(move_uploaded_file($arquivo_temporario,$caminho_absoluto.$nome_arquivo))
    {
        echo "<p align=center>O upload do arquivo $nome_arquivo foi concluido com sucesso</p>";
        echo "<p align=center><a href=upload.html>novo upload</a></p>";
    }
    else
    {
        echo "<p align=center>O arquivo não pode ser copiado para o servidor</p> ";
    }
}
else
{
    die("Selecione o arquivo a ser enviado");
}

echo"$caminho_absoluto $nome_arquivo";
?>

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Eu não domino muito o assuno não...mas eu testei seu código aqui...

E fiz duas alteração: troquei essa

chmod($caminho_absoluto.$nome_arquivo,0777);
Por essa:
system("chmod 777 *");
E no caminho absoluto eu troquei por essa:
$caminho_absoluto="./upload/";

Eu crei uma pasta para tranaferis as imagens

Depois disso ele rodou normal

PS: se não isso..favor desconsiderar

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Nelma,

tenho mais algumas duvidas:

Por que usar o . (ponto) antes do diretorio ? ele referecia a raiz ? com o site publicado ou no localhost ?

Agora temos um novo erro, vou preencher agora um "troble ticket" para quem gerencia o servidor de hospedagem do site.

Erros são o seguinte:

C:\WINDOWS\Temp\php4FDA.tmpnada

Warning: system() has been disabled for security reasons in E:\vhosts\site.com.br\httpdocs\executa_upload.php on line 38

Warning: move_uploaded_file(./upload/bot_ativ_parl.gif): failed to open stream: No such file or directory in E:\vhosts\site.com.br\httpdocs\executa_upload.php on line 39

Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\Temp\php4FDA.tmp' to './upload/bot_ativ_parl.gif' in E:\vhosts\site.com.br\httpdocs\executa_upload.php on line 39

O arquivo não pode ser copiado para o servidor

./upload/ bot_ativ_parl.gif

Muito obrigado, pela sugestão nas alterações, mas o servidor não aceita o system... acho que é isso, mas conto com todos para desvendar esse problema.

Um grande abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Ainda com relação a ao arquivo .jpg que não vai pra variavel temporaria, por exemplo:

de acordo com o codigo, tem uma impressão proposital da variavel $arquivo_temporario justamente para ver o conteudo desta variavel,

$arquivo_temporario=$_FILES["arquivo"]["tmp_name"];

echo "$arquivo_temporario";
echo "nada";
if(!empty($nome_arquivo))
{

mas quando eu tento usar um arquivo .jpg com as seguintes descrições:

nome: Digitalizar.jpg

caminho no PC: C:\Documents and Settings\Júnior\Meus documentos\My Scans\2007-11 (nov)\Digitalizar.jpg

tamanho: 1,42 MB (1.490.370 bytes)

o script não lista ou mostra o conteudo da variavel $arquivo_temporario ou esta mostrando o que tem dentro,nada.

Resposta da pagina

nada

Warning: system() has been disabled for security reasons in E:\vhosts\praciano.com.br\httpdocs\executa_upload.php on line 38

O arquivo não pode ser copiado para o servidor

./upload/ Digitalizar.jpg

o contrario acontece quando eu uso um .gif

nome: atom03.gif

caminho no PC: C:\Apache\htdocs\images\M_images\atom03.gif

tamanho: 991 bytes

Resposta da pagina

C:\WINDOWS\Temp\php4FDE.tmpnada

Warning: system() has been disabled for security reasons in E:\vhosts\praciano.com.br\httpdocs\executa_upload.php on line 38

Warning: move_uploaded_file(./upload/atom03.gif): failed to open stream: No such file or directory in E:\vhosts\praciano.com.br\httpdocs\executa_upload.php on line 39

Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\Temp\php4FDE.tmp' to './upload/atom03.gif' in E:\vhosts\praciano.com.br\httpdocs\executa_upload.php on line 39

O arquivo não pode ser copiado para o servidor

./upload/ atom03.gif

Link para o comentário
Compartilhar em outros sites

  • 0

por favor amigos, desconsiderem esses erros de chmod() e outras permissões pois o que estou interessado por hora é em resolver a questão do arquivo temporário, apesar de não saber se isso influi na resolução deste problema.

Um grande abraço a todos e muito abrigado a quem tentar ajudar.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...