josuel 0 Denunciar post Postado Outubro 7, 2009 Olá, Bom dia a todos! tenho uma pagina que fica encarregada de receber o caminho do arquivo através de um botão file o formulario é do tipo post. Essa pagina utiliza a função file() para ler o arquivo. No meu servidor de teste local funciona muito bem, só que quando coloco essa pagina no servidor on-line, ela mostra o seguinte erro: Warning: file(C:\wamp\www\prosabervirtual\frente\adm\bl_adm\ret000583.txt) [function.file]: failed to open stream: No such file or directory in /home/prosabervirtual/public_html/adm/bl_adm/processar_ret.php on line 15 Sei que o error acima que dizer que a função falhou, só não sei o porque dessa falha. Se algum souber o que está causando essa falha, desde já agradeço! Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Outubro 7, 2009 Se algum souber o que está causando essa falha, desde já agradeço! Ué, é só ler a mensagem de erro: No such file or directory Compartilhar este post Link para o post Compartilhar em outros sites
josuel 0 Denunciar post Postado Outubro 7, 2009 Mais o que devo fazer, você pode me mostrar o caminho? Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Outubro 7, 2009 o certo antes de abrir ou ler o arquivo eh valida-lo: o arquivo existe? (sim)abra-o : (nao)descubra o pq; Compartilhar este post Link para o post Compartilhar em outros sites
josuel 0 Denunciar post Postado Outubro 7, 2009 o certo antes de abrir ou ler o arquivo eh valida-lo: o arquivo existe? abra-o : descubra o pq; Certo, como disse antes estou abrindo esse arquivo através de um form ou seja esse arquivo existe no meu computador, procuro ele com o botão file do form e armazeno o camiho do arquivo em uma variavél depois peço que abra e leia o arquivo com a função file. Será que estou fazendo errado? Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Outubro 7, 2009 O PHP é server-side, tente fazer uma cópia deste arquivo para seu servidor, ai sim altere-o como quiser. (poste o codigo também) Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Outubro 7, 2009 No meu servidor de teste local funciona muito bem, só que quando coloco essa pagina no servidor on-line, ela mostra o seguinte erro: Warning: file(C:\wamp\www\prosabervirtual\frente\adm\bl_adm\ret000583.txt) [function.file]: failed to open stream: No such file or directory in /home/prosabervirtual/public_html/adm/bl_adm/processar_ret.php on line 15 Coisa mais fácil... Veja que ele está tentando abrir um arquivo cujo o caminho é "C:\wamp\www\prosabervirtual\frente\adm\bl_adm\ret000583.txt" é impossível você abrir esse arquivo no seu servidor on-line né?????? Corrija o caminho do arquivo q está na função file()... tente colocar o caminho relativo se você não sabe o caminho absoluto. Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
josuel 0 Denunciar post Postado Outubro 7, 2009 Como faço para alterar o tipo de caminho do arquivo? Lembrando que pego o caminho do arquivo através de um form! Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Outubro 7, 2009 A resposta para o teu problema é esta: O PHP é server-side, tente fazer uma cópia deste arquivo para seu servidor, ai sim altere-o como quiser. (poste o codigo também) Para isso use a função move_uploaded_file() ou a copy() Compartilhar este post Link para o post Compartilhar em outros sites
josuel 0 Denunciar post Postado Outubro 7, 2009 Vou tentar para ver! Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Outubro 7, 2009 Aaaaahhhhh... é, se o arquivo não estiver no servidor, não adianta... Você precisa dar um upload primeiro nesse arquivo para ler depois... Compartilhar este post Link para o post Compartilhar em outros sites
josuel 0 Denunciar post Postado Outubro 7, 2009 Fiz o upload do arquivo! Agora como posso fazer para pegar sempre o caminho do ultimo arquivo mandado para o servidor? Segue um resumo do código abaixo: <?php ini_set('display_errors', 1); error_reporting(E_ALL); //Verifico se o arquivo veio pelo método POST a partir de um form if (is_uploaded_file($_FILES["arquivo"]["tmp_name"])) { //Verifico se o tamanho do arquivo excede o limite permitido if ($_FILES["arquivo"]["size"] > 2100000) { echo "Tamanho excedido"; } //Verifico se existe algum erro else if ($_FILES["arquivo"]["error"] != 0) { echo $_FILES["arquivo"]["error"]; } else if (move_uploaded_file($_FILES["arquivo"]["tmp_name"], "seg/".$_FILES["arquivo"]["name"])){ echo "<script>alert('Arquivo enviado com sucesso!!!');</script>"; } }else { $lines = file("seg/".$_FILES["arquivo"]["name"]);// tentei desta maneira mais não deu certo $t = count($lines); for ($i=0;$i<$t;$i+=2){ $n_nume = substr( $lines[$i] , 38 , 18); } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 7, 2009 Coloque o seguinte código no início da sua página. Vai exibir todos os dados referentes ao arquivo enviado. Daí você vê qual deles você vai querer. echo '<pre>'; print_r($_FILES); Depois que estiver funcionando você tira este código. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
lucasmartins 6 Denunciar post Postado Outubro 7, 2009 Bom, se o arquivo foi uploaded com sucesso, deveria ler o arquivo... Faz uma verificação antes de mandar ler assim: if(is_file("seg/".$_FILES["arquivo"]["name"])) { [...] // seu código ler abrir o arquivo... } Compartilhar este post Link para o post Compartilhar em outros sites
josuel 0 Denunciar post Postado Outubro 7, 2009 O código que postei acima está funcionando o motivo do erro foi um "else" a mais no código! Segue o código correto: <?php ini_set('display_errors', 1); error_reporting(E_ALL); //Verifico se o arquivo veio pelo método POST a partir de um form if (is_uploaded_file($_FILES["arquivo"]["tmp_name"])) { //Verifico se o tamanho do arquivo excede o limite permitido if ($_FILES["arquivo"]["size"] > 2100000) { echo "Tamanho excedido"; } //Verifico se existe algum erro else if ($_FILES["arquivo"]["error"] != 0) { echo $_FILES["arquivo"]["error"]; } else if (move_uploaded_file($_FILES["arquivo"]["tmp_name"], "seg/".$_FILES["arquivo"]["name"])){ echo "<script>alert('Arquivo enviado com sucesso!!!');</script>"; } // Retirei o else que estava aqui $lines = file("..seg/".$_FILES["arquivo"]["name"]); $t = count($lines); for ($i=0;$i<$t;$i+=2){ $n_nume = substr( $lines[$i] , 38 , 18); } } ?> Muito Obrigado a todos! Compartilhar este post Link para o post Compartilhar em outros sites