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

Ler Um Ficheiro Txt E Colar As Ultimas Linhas Numa Textarea


nunoperalta

Pergunta

13 respostass a esta questão

Posts Recomendados

  • 0

Crie um ficheiro HTML normal e depois mude a extensão para HTA... Clique duas vezes nesse ficheiro =)..... ou seja, é um HTML como se fosse um programa.

Eu não entendo MUITO de PHP, mas sei entender um código =)... JavaScript eu entendo bem... o quanto baste... =S... mas manipular ficheiros do computador para colocar numa textarea... eu já vi em VBScript algo do género Readline, etc.... mas não entendo como seleccionar as ultimas linhas e colar na TEXTAREA...

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom eu também não sou mestre em php, mas seria mais ou memos assim:

<?php

$filename = "ficheiro.txt";
$handle = fopen($filename,"r");

$file = fread($handle,filesize($filename));

$linhas = explode("\n",$file);

//ultimo da lista é nulo - remove                                                                                           
array_pop($linhas);

//vamos imprimir linhas[n-5], ..., linhas[n-1]                                                                               

$n = count($linhas);
$msg = "";
for ($i=$n-5; $i<$n; $i++){
  if ($i>=0)
    $msg = $msg.$linhas[$i]." ";
 }


echo "<script>                                                                                                               
function addtext(){                                                                                                          
document.input.msg.value = \"".$msg."\"                                                                                      
}                                                                                                                            
</script>";
?>

<body onload='addtext()'>
<form name='input'>
<textarea rows='10' cols='30' name='msg' class='msg'> </textarea>
</form>

</body>

PS: eu não sei como pular linha dentro do textarea.

Link para o comentário
Compartilhar em outros sites

  • 0

oi... funciona para um ficheiro que esteja no servidor, mas não funciona para ficheiros no computador:

file://C:\Documents%20and%20Settings\............. etc

Sou eu que estou a fazer errado? :(

Já experimentei destas maneiras:

$filename = "file://C:\Documents%20and%20Settings\nunoperalta\valente.txt";

$filename = "C:\Documents and Settings\nunoperalta\valente.txt";

$filename = "file:///C:\Documents%20and%20Settings\nunoperalta\valente.txt";

$filename = "file:\\C:\Documents%20and%20Settings\nunoperalta\valente.txt";

Link para o comentário
Compartilhar em outros sites

  • 0

De todas as maneiras dá este erro:

Warning: fopen() [function.fopen]: Unable to access C:\Documents and Settings\nunoperalta\valente.txt in /home/vhosts/nunoperalta.275mb.com/TXT.php on line 4

Warning: fopen(C:\Documents and Settings\nunoperalta\valente.txt) [function.fopen]: failed to open stream: No such file or directory in /home/vhosts/nunoperalta.275mb.com/TXT.php on line 4

Warning: filesize() [function.filesize]: Stat failed for C:\Documents and Settings\nunoperalta\valente.txt (errno=2 - No such file or directory) in /home/vhosts/nunoperalta.275mb.com/TXT.php on line 6

Warning: fread(): supplied argument is not a valid stream resource in /home/vhosts/nunoperalta.275mb.com/TXT.php on line 6

Link para o comentário
Compartilhar em outros sites

  • 0

<html xmlns:msie>
<msie:download id="downloader" 
               style="behavior:url(#default#download)" />
<HEAD>
<script language="javascript">
function fetchURL(url) {
    if ((location.host == '' && url.indexOf(location.protocol) == -1)   
         ||
         url.indexOf(location.host) == -1) 
      {
      netscape.security.PrivilegeManager.enablePrivilege
("UniversalConnect");
      }
    var dest = new java.net.URL(url);
    var diz = new java.io.DataInputStream(dest.openStream());
    var res = "";
    while ((line = diz.readLine()) != null) {
      res += line;
      res += java.lang.System.getProperty("line.separator");
    }
    diz.close();
    return res;
  }
</SCRIPT>

<script language="javascript">
function loadFile (fileName) {
  if (document.layers) {
    var i = new Image();
    i.src = fileName;
    var fileURL = i.src;
    document.formName.file.value = fetchURL(fileURL);
  }
  else if (document.all && document.getElementById)
    downloader.startDownload(fileName, displayFile);
}
function displayFile (text) {
  document.formName.file.value = text;
} 
</SCRIPT>
</HEAD>
<body>
<FORM NAME="formName">
<SELECT NAME="files"
        ONCHANGE="if (this.selectedIndex > 0) 
                    loadFile(this.options[this.selectedIndex].value);"
>
<OPTION>Ficheiro
<OPTION VALUE="C:\Documents and Settings\nunoperalta\valente.txt">valente.txt
<OPTION VALUE="ficheiro.txt">ficheiro.txt
</SELECT>
<BR>
<TEXTAREA NAME="file" ROWS="30" COLS="80" WRAP="off"></TEXTAREA>
</FORM>
<IFRAME NAME="anIframe" SRC="about:blank"></IFRAME>
</BODY>
</HTML>

Este dá perfeitamente! Mas há um problema. Só lê textos em ANSI... não há maneira de dar (também ou apenas) em Unicode?

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...