Jump to content


Photo

Permissão De Upload...


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

#1 brigman

brigman

    12 Horas

  • Usuários
  • 234 posts
  • Sexo:Não informado

Posted 12/04/2005, 15:05

Galera, instalei o Apache aqui em ambiente windows no seguinte local:
D:\Apache, logo minha pasta para colocar os arquivos está localizada em D:\Apache\htdocs ... tudo bem, coloquei um arquivo teste.php com um form de Upload de arquivos e acesso http://127.0.0.1/teste.php(D:\Apache&...#092;teste.php) numa boa, mysql, php, tudo OK, funcionando, porém quando dou UPLOAD o arquivo que dou o UP vai para no seguinte local
d:\image.jpg(supondo q dei upload neste arquivo)...

como que o Apache ta dando permissão para eu fazer o UP para a pasta raiz do meu sistema ?

ja pesquisei aí um monte de local e nada... ñ axei a resposta, no manual também ñ(talvez pq ñ saiba mto bem inglês hehehe)...

Eis meu script
<form action="teste.php?acao=enviar" method="post" enctype="multipart/form-data">
Envie sua foto para o site! <input type="file" name="foto"><BR>
<input type="submit" name="submit" value="Enviar Foto!">
</form>

<?php
 switch($acao) {
  case enviar:
$erro = $config = array();

// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

        // Pega extensão do arquivo
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);

        // Gera um nome único para a imagem
        $imagem_nome = md5(uniqid(time())) . "." . $ext[1];

        // Caminho de onde a imagem ficará
        $imagem_dir = "/" . $imagem_nome;

        // Faz o upload da imagem
        move_uploaded_file($arquivo["tmp_name"], $imagem_dir);

        echo "Sua foto foi enviada com sucesso!";
  break;
  }
?>

+ um detalhe...
caso eu sete
$imagem_dir = "" . $imagem_nome; ---> vazio, sem o /

ele vai parar na pasta D:\Apache

no outro tópico fui meio sem objetivo, pesquisei + e fiz + testes mas o problema continua!

desde já, obrigado
abraços

#2 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 12/04/2005, 18:06

bom,
nao sei especificamente o que pode ser, mas vamos atacar o problema de todas as maneiras, focando no assunto "path".

considerando que vc usa o php, de uma olhadinha no php.ini, perto desse trecho:


;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =




descomente essa ultima linha e coloque algo, como c:\sites\tmp

ache a linha
doc_root = ...

e coloque algo ali tambem, como c:\sites

no apache, acho que dentro da pasta docs ha um arquivo chamado httpd.conf

ache a linha


e coloque algo assim:
ServerRoot "C:/Arquivos de programas/Apache Group/Apache2"

no mesmo arquivo ache a linha
DocumentRoot

e coloque algo como
DocumentRoot "C:/sites"


bom... de um stop no serviço do apache... start novamente, pras modificaçoes fazerem efeito

veja se o problema parou :-)

bom, eu nunca rodei profissionalmente php+apache+mysql no windows, apenas pra testes "bestas"... acho que pra esse "trio de ouro" funcionar legal num nivel profissional, considere instala-los no Linux
se for fã do Windows, melhor usar o IIS em vez do apache (y)

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#3 brigman

brigman

    12 Horas

  • Usuários
  • 234 posts
  • Sexo:Não informado

Posted 12/04/2005, 21:21

Pois eh, ja fiz alterações em tudo isso...

Falei com um amigo e ele comentou que tinha algum local no Apache que você permitia o acesso a pastas acima dele, mas não achei este local. Ja aí nem envolve PHP, ja que o script ta OK, e sim o webserver Apache!

é eh esquesito pq sempre funcionou numa boa aqui... somente nesta instalação que deu "problema"...

bom, é isso... valeu ae

Edição feita por: brigman, 12/04/2005, 21:47.





1 user(s) are reading this topic

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

IPB Skin By Virteq