Pagina 1 din 1

Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 3:17 am
de akexabogdan
Salutare, am si eu nevoie de ajutor cu un script..
Mai exact scriptul isi face treaba, doar ca nu adauga linie noua, scrie peste cea veche.
Stiu ca e ceva cu \n....insa nu stiu exact unde sa o pun..imi da mari batai de cap


Acesta afisaza :

Cod: Selectaţi tot

URL NOU: Http://exemplu.com, Cu IP : XX.XXX.XXX.XXX


Iar eu doresc...

Cod: Selectaţi tot

URL NOU: Http://exemplu.com, Cu IP : XX.XXX.XXX.XXX
URL NOU: Http://exemplu2.com, Cu IP : XX.XXX.XXX.123



Cod: Selectaţi tot

<?php
if(isset($_SERVER['HTTP_REFERER'])) {
    $ref = $_SERVER['HTTP_REFERER'];
} else {
   $ref = "Accesare directa";
}
$ip = $_SERVER['SERVER_ADDR'];
$filename = "vizite.txt";
$count= file($filename);
$count[0]++;
$data = 'URL NOU :  '.$ref.',Cu IPul : '.$ip.'';
$file = fopen ($filename, "w") or die ("Cannot find $filename");
fwrite($file,$data);
fclose($file);
echo $count[0];
?>

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 10:53 am
de nevvermind

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 2:05 pm
de akexabogdan
Am incercat cu \n \r cam dupa toate modelele de pe google, nu merge ma gandesc ca e mai complicat.

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 2:55 pm
de MarPlo
Incearca si cu PHP_EOL, e o constanta php pentru rand nou.
Exemplu:

Cod: Selectaţi tot

$str ='row 1'PHP_EOL .'row 2'

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 3:43 pm
de nevvermind
Arata si cum ai incercat cand nu ti-a mers. La pariu ca ai scris '\n\r' in loc de "\n\r".

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 4:28 pm
de akexabogdan

Cod: Selectaţi tot

<?php
if(isset($_SERVER['HTTP_REFERER'])) {
    $ref = $_SERVER['HTTP_REFERER'];
} else {
   $ref = "Accesare directa";
}
$ip = $_SERVER['SERVER_ADDR'];
$filename = "vizite.txt";
$count= file($filename);
$count[0]++;
$data = 'A venit o vizita din partea : '.$ref.',Cu IPul : '.$ip. "\n\r ";
$file = fopen ($filename, "w") or die ("Cannot find $filename");
fwrite($file,$data);
fclose($file);
echo $count[0];
?>


Problema e ca nu mai stiu unde sa pun \n\r :)) cu PHP_E0L am incercat insa imi da o eroare la cod..sunt incepator in PHP, scriptul l-am modificat din altu..a iesit cat de cat..adica isi face treaba insa in loc sa listeze si alte lini, scrie peste cea existenta

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 5:16 pm
de nevvermind
Asta nu mai e o problema de newline.

Tu folosesti "fopen ($filename, "w")". "w" inseamna:
"Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it."

Tu vrei sa deschizi cu "a" (sau "a+"):
"Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it. In this mode, fseek()() only affects the reading position, writes are always appended".

http://php.net/manual/en/function.fopen.php - vezi parametrul "mode".

PS: Foloseste sprintf, sa para mai lizibil:
sprintf("A venit o vizita din partea: %s , cu IP-ul: %s\n\r", $ref, $ip);

PPS: Sper ca nu folosesti "PHP_E0L" ci "PHP_EOL".

Da codul si erorile data viitoare.

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 5:35 pm
de akexabogdan
Multumesc pentru ajutor...scriptul salveaza in .txt si e o chestie doar pentru mine...sa vad ce si cum..nu i-am dat de cap..apreciez totusi...mai repede platesc pe cineva sa-l faca functional si asta e.

Re: Problema fwrite adaugare linie noua

Scris: Lun Aug 10, 2015 5:52 pm
de nevvermind
Dar cum nu i-ai dat de cap pana acuma? Ce eroare iti da? Sa platesti pe cineva pt asta? Fii serios...
Esti la 5 minute de atentie de a rezolva problema.
Intra pe chat daca vrei (link jos). Te rezolv eu gratis, ca vad ca esti in stare sa dai bani aiurea.

Re: Problema fwrite adaugare linie noua

Scris: Mie Aug 19, 2015 5:13 pm
de clickymedia
Poti folosi codul de mai jos, functioneaza :D

Cod: Selectaţi tot

<?php

if(isset($_SERVER['HTTP_REFERER'])) {
    $ref = $_SERVER['HTTP_REFERER'];
} else {
   $ref = "Accesare directa";
}

$ip = $_SERVER['SERVER_ADDR'];
$filename = "vizite.txt";
$count= file($filename);
$count[0]++;
$data = "A venit o vizita din partea: {$ref}, Cu IPul: {$ip}";
$file = fopen($filename, 'a') or die ("Cannot find $filename");
fwrite($file,$data.PHP_EOL);
fclose($file);
echo $count[0];
?>

Re: Problema fwrite adaugare linie noua

Scris: Mie Sep 16, 2015 2:18 pm
de vectorialpx

Cod: Selectaţi tot

<?php
$file 
'people.txt';
$content "John Smith\n";
file_put_contents($file$contentFILE_APPEND);