Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dopisywanie danych na początku pliku
jinchuriki
post 24.04.2009, 11:59:36
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 6
Dołączył: 30.11.2008

Ostrzeżenie: (0%)
-----


Witam, mam skrypt który odczytuje i dopisuje na końcu pliku dane. A ja chcę żeby dopisywało się na początku pliku. Mam ustawiony odczyt a+. Na jaki zmienić by dopisywało się na początku pliku?


--------------------
zmoderowano
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
sowiq
post 24.04.2009, 12:01:32
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


http://pl.php.net/fopen:
Cytat
'a+' - Otwórz do odczytu i zapisu; ustawia wskaźnik pliku na końcu pliku. Jeśli plik nie istnieje to próbuje go utworzyć
'r+' - Otwórz do odczytu i zapisu; ustawia wskaźnik pliku na początku pliku.


Ten post edytował sowiq 24.04.2009, 12:03:42
Go to the top of the page
+Quote Post
jinchuriki
post 24.04.2009, 12:03:31
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 6
Dołączył: 30.11.2008

Ostrzeżenie: (0%)
-----


Ale r+ nie dopisuje, ale zapisuje na miejscu poprzedniej wiadomości.


--------------------
zmoderowano
Go to the top of the page
+Quote Post
sowiq
post 24.04.2009, 12:13:59
Post #4





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Masz rację. Wydaje mi się, że nie ma wbudowanej funkcji w PHP do zrobienia czegoś takiego, ale ręki sobie uciąć nie dam. Chodzi o to, że w przypadku pisania na początku pliku, PHP musiałoby go ładować do pamięci. Z dopisywaniem na końcu sprawa ma się inaczej.

Jeśli to nie jest super-duży plik, możesz zrobić chociażby tak:
  1. <?php
  2. $plik = "test.txt";
  3. $tresc = "moja tresc\n";
  4. file_put_contents($plik, $tresc . file_get_contents($plik));
  5. ?>
Go to the top of the page
+Quote Post
jinchuriki
post 24.04.2009, 12:47:16
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 6
Dołączył: 30.11.2008

Ostrzeżenie: (0%)
-----


Dzięki. winksmiley.jpg

I jeszcze jedno pytanie: mianowicie jak zrobić wyskakujący komunikat w php? Mam skrypt java, ale nie za bardzo znam ten język... Chyba, że pomożecie mi zrobić by zapisać wynik tego skryptu do zmiennej w php, żebym mógł potem się do niej odwołać. Skrypt java:

Kod
<script>
<!--
var caution = false
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if (!caution || (name + "=" + escape(value)).length <= 900000)
document.cookie = curCookie
else
if (confirm("Cookie exceeds 900KB and will be cut!"))
document.cookie = curCookie
}


function getCookie(name) {
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}

function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT"
}
}

function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
date.setTime(date.getTime() - skew)
}
var now = new Date()
fixDate(now)
now.setTime(now.getTime() + 31 * 24 * 60 * 60 * 1000)
var name = getCookie("name")
document.fgcolor = "blue"
if (!name)
name = prompt("Podaj swój nick, który będzie wyświetlany w SpamBoxie", "")
if (name == null || name == "") { alert ("Dlaczego jesteś taki nieuprzejmy i się nie przedstawiłeś?") }
else
{
setCookie("name", name, now)
var today = new Date ()
var hrs = today.getHours();
document.write ("<font face=Monotype corsiva><font size=3 color=red><i>"+ name +"</i></font>");
}

// -->
</SCRIPT>


--------------------
zmoderowano
Go to the top of the page
+Quote Post
sowiq
post 24.04.2009, 12:50:33
Post #6





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


PHP to język server-side. Nie da się w nim zrobić wyskakujących komunikatów ani innych tego typu rzeczy. A co do javy - rozumiem, że chodziło Ci o JavaScript?
Kod
alert('Komunikat');


Połączone z PHP:
  1. <?php
  2. $pokaz_komunikat = true;
  3.  
  4. if($pokaz_komunikat){
  5.    echo '<script type="text/javascript">alert('komunikat');</script>';
  6. }
  7. ?>


Ten post edytował sowiq 24.04.2009, 12:50:55
Go to the top of the page
+Quote Post
jinchuriki
post 24.04.2009, 15:22:19
Post #7





Grupa: Zarejestrowani
Postów: 87
Pomógł: 6
Dołączył: 30.11.2008

Ostrzeżenie: (0%)
-----


Dzięki jeszcze raz. winksmiley.jpg

<a href="http://lukas-art.unl.pl/skrypty/czat.php" target="_blank">http://lukas-art.unl.pl/skrypty/czat.php</a>

Mam jeszcze jedno pytanko, co trzeba przerobić w tym kodzie JS,który jest na stronie wyżej, żeby nie wyświetlała się wszystkim ta nazwa użytkownika, którą oni wpisali, tylko ta którą wpisał user, który napisał tę wiadomość.

questionmark.gif

Ten post edytował jinchuriki 24.04.2009, 15:22:41


--------------------
zmoderowano
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 09:58