Cysiaczek
26.03.2004, 16:35:04
Witam.
Jakieś 3 miechy temu zacząłem się uczyć php.
Zinstalowałem Krasnala na WIN XP i zacząłem przerabiać pewną stronkę.
Gdy juz nieco łapnąłem, postanowiłem napisać mini panel administracyjny. Miało to wszystko bazować na plikach TXT. No cóż. Napisałem. Działa!!! ..........i nagle bum... Przeniosłem stronkę z locala na serwer (www.ctinet.pl). Co się okazało: Plik, który odpowiada za całą brudną robote wali się na łeb. Przeglądarka dosłownie zżera RAM KOMPUTERA i sie zawiesza.
Stworzyłem kilka skryptów wykonujących to samo i pod winem wsio chodzim a na serwrze nie. Poza tym owe skrypty nuie chce się wykonywać na GNU/Linuxie SUSE
Czy może to byc wina przniesienia plików na inny system operacyjny?
Krótko o pliku:
[php:1:ee9d57290b]<?php
$plik=fopen ("news.txt" "r+");
flock ($plik, 2);
while (!(feof($plik)))
{
$memor=fgets ($plik, 4096);
}
flock ($plik, 3);
fclose ($plik);
//tutaj ida dane z formularza
$plik2=fopen ("news.txt" "w+");
flock (plik2, 2);
fputs ($plik2, "$formularz");
fputs ($plik2, "$memor");
flock ($plik2, 3);
fclose($plik2);
?>[/php:1:ee9d57290b]
[/b]
kszychu
26.03.2004, 16:38:28
To flock ("plik2, 2"); w linii 14, w dobrym miejscu ten cudzysłów zamkłeś?
Cysiaczek
26.03.2004, 16:41:21
sORRY - tAK, ALE JA GO PIESZĘ Z PAMIĘCI... tAK , TAK JEST ZAMKNIĘTY W ORYGINALNYM PLIKU
NIe ma go wcale - poleciała mi ręka hhe
kszychu
26.03.2004, 16:43:48
Nie masz przypadkiem fata?
Cytat
flock() is not supported on antiquated filesystems like FAT and its derivates and will therefore always return FALSE under this environments (this is especially true for Windows 98 users).
Cysiaczek
26.03.2004, 16:46:35
No tak. Na winie mam fata, bo mi poprzednio xp rozwalił strownik ntfs i przesałem chwilowo go używać. Czy to jest ten problem?
Sprawdzę to, ale dlaczego GNU/Linux tego nie przetwarza?
kszychu
26.03.2004, 16:49:37
Osobiście też mam fata pod xp. A co do flocka, to mógł on w ogóle nie działać, więc nie objaiwały się błedy, które pokazały się teraz, gdy zaczął działać na innym systemie plików.
Cysiaczek
26.03.2004, 16:52:06
Dobra rozumiem,ale co w takim razie mam zrobic. Zainstalowac partycję NTFS, napisac ten skrypt na GNU/Linuxie, czy coś innego?
Aha. Dlaczego, jeśli flock() nie działa to windows robi to o co go proszę, a linux nie. Czy to ma związek z kodowaniem?
Cysiaczek
26.03.2004, 16:56:26
Tak wogóle, to ten serwer nie dopuscił finkcji fread() - bo najpierw jej użyłem - prostsza i całkowicie by mi wystarczyła.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.