Jump to content
Fórum Script Brasil
  • 0

Sistema simples de inclusão de dados, em .TXT (Alguém pode me ajudar?)


Gabriel M. Biff

Question

Antes de mais nada, vou dizer aonde eu quero aplicar esse sistema, http://gabrielmbiff.com/galeria/004/

Como já devem ter percebido sou fotógrafo, www.gabrielmbiff.com é meu site, e no site existe a página de galeria, http://www.gabrielmbiff.com/galeria/

Na galeria, alguns albuns são fixos, outros não, por exemplo, natureza, aonde cada nova foto que eu faço, eu adiciono lá.

Oque eu quero é bem simples, criar um formulário, com um unico campo, escrito link, e o espaço do lado para preencher com o link da imagem que eu quero adicionar.

Eu queria que esse formulário inserisse o link aqui:

<a href="http://gabrielmbiff.com/imagens/galeria/006/1.jpg">

<img title="Batizado Miguel"

alt=""

src="$LINKAQUI">

</a>

Pensei em fazer isso usando as funções fopen() fwrite(), porém eu não sei, muito menos criar a página com o formulário para enviar o link.

Ele teria que começar a adicionar do começo do arquivo txt, quero no caso eu usaria como uma include na propria galeria.

Não sei se conseguem me entender, está frio aqui, minha mãe esta congelando e não consigo escrever muito bem.

Mas enfim, eu só quero um código pronto, pode ser usado, eu posso fazer as adaptaçoes, que tenha um formulário, e nesse fomulario um "textarea" para inserir o link de uma imagen, .JPG, dai esse link é inserido dentro do código que eu mostrei acima, no lugar de $LINKAQUI

E só...

Por favor, me ajudem.

Abraços.

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0

Bom dia cara, fiz uma coisa bem simples aqui pra você testar e quem sabe começar a mudar da melhor forma pra lhe atender.

formulario

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form action="grava_txt.php" method="post">
            <fieldset>
                <legend>Grava link</legend>
                Link completo: 
                <input type="text" name="link"/>
                <input type="submit" value="gravar link"/>
            </fieldset>
        </form>
    </body>
</html>
grava_txt.php
<?php
//caminho completo do txt a ser gravado
$caminho_txt = "/home/www/ajuda/link.txt";

//pega valor da input
$link = $_POST['link'];

//controla para que o formulario não seja submetido varias vezes seguidas
if ($link == NULL) {
    echo "Você deve digitar um link para ser gravado ! <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
} else {
    //caso o txt não esteja criado, cria o txt e grava
    $abre_txt = fopen($caminho_txt, 'a');

    fwrite($abre_txt, $link . "\n");

    fclose($abre_txt);

    echo "Link gravado com sucesso <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
}
?>
e por fim o arquivo gerado fica assim: link.txt
http://static.php.net/www.php.net/images/php.gif
http://scriptbrasil.com.br/forum/style_images/sb_images/logo4.jpg
http://scriptbrasil.com.br/forum/membro.gif
http://scriptbrasil.com.br/forum/style_images/sb_images/bf_new.gif

Pelo que entendi e isso que você precisava

T+

Link to comment
Share on other sites

  • 0
Bom dia cara, fiz uma coisa bem simples aqui pra você testar e quem sabe começar a mudar da melhor forma pra lhe atender.

formulario

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form action="grava_txt.php" method="post">
            <fieldset>
                <legend>Grava link</legend>
                Link completo: 
                <input type="text" name="link"/>
                <input type="submit" value="gravar link"/>
            </fieldset>
        </form>
    </body>
</html>
grava_txt.php
<?php
//caminho completo do txt a ser gravado
$caminho_txt = "/home/www/ajuda/link.txt";

//pega valor da input
$link = $_POST['link'];

//controla para que o formulario não seja submetido varias vezes seguidas
if ($link == NULL) {
    echo "Você deve digitar um link para ser gravado ! <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
} else {
    //caso o txt não esteja criado, cria o txt e grava
    $abre_txt = fopen($caminho_txt, 'a');

    fwrite($abre_txt, $link . "\n");

    fclose($abre_txt);

    echo "Link gravado com sucesso <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
}
?>
e por fim o arquivo gerado fica assim: link.txt
http://static.php.net/www.php.net/images/php.gif
http://scriptbrasil.com.br/forum/style_images/sb_images/logo4.jpg
http://scriptbrasil.com.br/forum/membro.gif
http://scriptbrasil.com.br/forum/style_images/sb_images/bf_new.gif

Pelo que entendi e isso que você precisava

T+

dinohills, porém ali no link.txt, ele tem que gerar assim:

<a href="http://gabrielmbiff.com/imagens/galeria/006/1.jpg">

<img title="Batizado Miguel"

alt=""

src="http://static.php.net/www.php.net/images/php.gif">

</a>

<a href="http://gabrielmbiff.com/imagens/galeria/006/1.jpg">

<img title="Batizado Miguel"

alt=""

src="http://scriptbrasil.com.br/forum/style_images/sb_images/logo4.jpg

">

...

E não só o link... entende?

</a>

Link to comment
Share on other sites

  • 0
Bom dia cara, fiz uma coisa bem simples aqui pra você testar e quem sabe começar a mudar da melhor forma pra lhe atender.

formulario

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form action="grava_txt.php" method="post">
            <fieldset>
                <legend>Grava link</legend>
                Link completo: 
                <input type="text" name="link"/>
                <input type="submit" value="gravar link"/>
            </fieldset>
        </form>
    </body>
</html>
grava_txt.php
<?php
//caminho completo do txt a ser gravado
$caminho_txt = "/home/www/ajuda/link.txt";

//pega valor da input
$link = $_POST['link'];

//controla para que o formulario não seja submetido varias vezes seguidas
if ($link == NULL) {
    echo "Você deve digitar um link para ser gravado ! <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
} else {
    //caso o txt não esteja criado, cria o txt e grava
    $abre_txt = fopen($caminho_txt, 'a');

    fwrite($abre_txt, $link . "\n");

    fclose($abre_txt);

    echo "Link gravado com sucesso <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
}
?>
e por fim o arquivo gerado fica assim: link.txt
http://static.php.net/www.php.net/images/php.gif
http://scriptbrasil.com.br/forum/style_images/sb_images/logo4.jpg
http://scriptbrasil.com.br/forum/membro.gif
http://scriptbrasil.com.br/forum/style_images/sb_images/bf_new.gif

Pelo que entendi e isso que você precisava

T+

Eu fiz como você mandou, só pra testar, e deu esse erro:

PHP Error Message

Warning: fopen(/link.txt) [function.fopen]: failed to open stream: Permission denied in /home/a4876745/public_html/testes/grava_txt.php on line 14

Free Web Hosting

PHP Error Message

Warning: fwrite(): supplied argument is not a valid stream resource in /home/a4876745/public_html/testes/grava_txt.php on line 16

Free Web Hosting

PHP Error Message

Warning: fclose(): supplied argument is not a valid stream resource in /home/a4876745/public_html/testes/grava_txt.php on line 18

Free Web Hosting

Link gravado com sucesso

__________

Apesar de no final aparecer que o link foi gravado, nenhuma modificação ocorreu no arquivo .txt.

Lembrando que esse "sistema" esta na pasta /testes do diretório public html.

Esse src="" vai ser igual ao link da foto ? Ou você vai informar ele toda vez ?

Eu vou informar todas as vezes, porque são imagens diferentes.

Link to comment
Share on other sites

  • 0

Como o jissa disse, deve ser permissão ou talvez o caminho que não está certo.

Aqui estão os arquivos modificados.

formulario

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form action="grava_txt.php" method="post">
            <fieldset>
                <legend>Grava link</legend>
                Título:
                <input type="text" name="titulo"/><br/>
                Source:
                <input type="text" name="source"/><br/>
                Link foto: 
                <input type="text" name="link"/><br/>                
                <input type="submit" value="gravar link"/>
            </fieldset>
        </form>
    </body>
</html>
grava_txt.php
<?php
//caminho completo do txt a ser gravado
$caminho_txt = "/home/www/ajuda/link.txt";

//pega valor da input
$link = $_POST['link'];
$titulo = $_POST['titulo'];
$source = $_POST['source'];

$grava_txt = "<a href=\"$link\">
<img title=\"$titulo\"
alt=\"\"
src=\"$source\">
</a>    
";

//controla para que o formulario não seja submetido varias vezes seguidas
if ($link == NULL) {
    echo "Você deve digitar um link para ser gravado ! <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
} else {
    //caso o txt não esteja criado, cria o txt e grava
    $abre_txt = fopen($caminho_txt, 'a');

    fwrite($abre_txt, $grava_txt . "\n");

    fclose($abre_txt);

    echo "Link gravado com sucesso <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
}
?>

Link to comment
Share on other sites

  • 0
Como o jissa disse, deve ser permissão ou talvez o caminho que não está certo.

Aqui estão os arquivos modificados.

formulario

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form action="grava_txt.php" method="post">
            <fieldset>
                <legend>Grava link</legend>
                Título:
                <input type="text" name="titulo"/><br/>
                Source:
                <input type="text" name="source"/><br/>
                Link foto: 
                <input type="text" name="link"/><br/>                
                <input type="submit" value="gravar link"/>
            </fieldset>
        </form>
    </body>
</html>
grava_txt.php
<?php
//caminho completo do txt a ser gravado
$caminho_txt = "/home/www/ajuda/link.txt";

//pega valor da input
$link = $_POST['link'];
$titulo = $_POST['titulo'];
$source = $_POST['source'];

$grava_txt = "<a href=\"$link\">
<img title=\"$titulo\"
alt=\"\"
src=\"$source\">
</a>    
";

//controla para que o formulario não seja submetido varias vezes seguidas
if ($link == NULL) {
    echo "Você deve digitar um link para ser gravado ! <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
} else {
    //caso o txt não esteja criado, cria o txt e grava
    $abre_txt = fopen($caminho_txt, 'a');

    fwrite($abre_txt, $grava_txt . "\n");

    fclose($abre_txt);

    echo "Link gravado com sucesso <br/>";
    echo "<input type=\"button\" value=\"voltar\" onclick=\"history.back(-1);\"/> ";
}
?>

Erro:

Warning: fopen(/home/www/ajuda/link.txt) [function.fopen]: failed to open stream: No such file or directory in /home/a4876745/public_html/testes/grava_txt.php on line 23

Free Web Hosting

PHP Error Message

Warning: fwrite(): supplied argument is not a valid stream resource in /home/a4876745/public_html/testes/grava_txt.php on line 25

Free Web Hosting

PHP Error Message

Warning: fclose(): supplied argument is not a valid stream resource in /home/a4876745/public_html/testes/grava_txt.php on line 27

Link to comment
Share on other sites

  • 0
deve ser permissão de escrita no arquivo .txt

777? Eu dei. Dai quando eu vou acessar o arquivo, diz que não existe.

Desconfio que tenha alguma coisa errada nessa parte, $caminho_txt = "/home/www/ajuda/link.txt";

/

A variavel $caminho_txt precisa ser absoluta, não se pode usar como URL.

tente fazer um

chown apache:apache

isso na pasta aonde o txt vai ser gerado.

cara você não pode usa o caminho do txt igual ao meu. Você precisa modificar esse caminho para funcionar no seu servidor.

Essa e a unica coisa que você precisa modificar.

Link to comment
Share on other sites

  • 0
deve ser permissão de escrita no arquivo .txt

777? Eu dei. Dai quando eu vou acessar o arquivo, diz que não existe.

Desconfio que tenha alguma coisa errada nessa parte, $caminho_txt = "/home/www/ajuda/link.txt";

/

A variavel $caminho_txt precisa ser absoluta, não se pode usar como URL.

tente fazer um

chown apache:apache
isso na pasta aonde o txt vai ser gerado. cara você não pode usa o caminho do txt igual ao meu. Você precisa modificar esse caminho para funcionar no seu servidor. Essa e a unica coisa que você precisa modificar.
Ai, não entendi :/ $caminho_txt = "/home/www/ajuda/link.txt"; Porque esse caminho? Se o arquivo .txt está na pasta "testes", que esta na pasta /public_html da raíz do ftp.
deve ser permissão de escrita no arquivo .txt
777? Eu dei. Dai quando eu vou acessar o arquivo, diz que não existe. Desconfio que tenha alguma coisa errada nessa parte, $caminho_txt = "/home/www/ajuda/link.txt"; /
A variavel $caminho_txt precisa ser absoluta, não se pode usar como URL. tente fazer um
chown apache:apache

isso na pasta aonde o txt vai ser gerado.

cara você não pode usa o caminho do txt igual ao meu. Você precisa modificar esse caminho para funcionar no seu servidor.

Essa e a unica coisa que você precisa modificar.

Ok, agora que eu já expliquei onde esta o .txt, como vai ficar o caminho?

Link to comment
Share on other sites

  • 0
Pelo jeito seu caminho correto é

/home/a4876745/public_html/testes/

então fica assim a variavel

$caminho_txt = "/home/a4876745/public_html/testes/link.txt";
Aleluia, deu! :D
Pelo jeito seu caminho correto é /home/a4876745/public_html/testes/ então fica assim a variavel
$caminho_txt = "/home/a4876745/public_html/testes/link.txt";

Só por curiosidade, porque não abre? http://www.gabrielmbiff.com/testes/link.txt

Quando eu vou abrir pelo FTP, abre.

Link to comment
Share on other sites

  • 0

E tem mais uma coisinha, se souberem me auxiliar.

Aqui nessa galeria por exemplo, http://gabrielmbiff.com/galeria/004/, como tem muitas fotos, a página fica mais pesada pra carregar.

Vocês vão perceber que vão aparecer umas mensagens de "timeout exceeded" e "undefined", oque ao meu ver, parece aparecer porque algum arquivo determina um tempo máximo para o carregamento de cada imagem, como são várias imagens carregando junto, esse tempo não é suficiente, e aparecem essas mensagens de erro.

Tem como ocultá-las ou aumentar esse tempo?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...