/ot/ Błąd w zapisie pliku

w dziale Opera
daroc napisał(a):

Ogólnie: Czy może ktoś zna się na programowaniu, zapisywaniu plików itd?

Zdażyła mi się straszna historia - straciłem mój skrypt PHP! bigeyes worried
Pisałem sobie skrypcik PHP. Miałem włączonego Apache'a, Operę 6.06 oraz dwa okna Notepada2 (edytowałem pliki php i css). Apache mi szwankuje i czasami mam Internal Server Error (error#500).
Tak było i tym razem. Wyskoczył mi error (#503). W manadżerze zadań miałem kilka procesów Apache-a i PHP, więc część z nich zamknąłem "na siłę" (zakończ zadanie). Po czym wyłączyłem i ponownie włączyłe Operę (w międzyczasie wyłączyłem jedno z okien Notepada - to ze skryptem), aby odzyskać trochę ramu. Po włączeniu Opery i wpisaniu adresu pliku PHP pojawiły się dziwne znaczki... Otworzyłem plik ze skryptem i - ku mojemu przerażeniu - ujrzałem jedynie jakieś dziwne znaczki! faint
Czy to możliwe, że Notepad zrobił to z moim plikiem?? Bo chyba Opera (fakt, że stara, ale - Opera) tego nie zrobiła... Nie, nie mogła, bo to PHP generuje strony. A więc wina leży po stronie PHP? Czy PHP otwiera pliki metodą write? Czy winny jest tutaj Notepad2?

Rzućcie okiem na załączony plik ze "skryptem"... (rozmiar pliku chyba się nie zmienił, albo nieznacznie).
Da się coś z tym zrobić? Co w ogóle oznaczają te wszystkie literki? Może ktoś jest w stanie jakoś odtworzyć ten skrypt? Na jakie grupy/fora (gdzie indziej?) powinienem kierować pytania dotyczące tej sprawy?

PS. Plik miał prawie 30 KB, więc rozumiecie, że trochę mi tego skryptu szkoda? Nadal nie mogę w to uwierzyć... faint

Po kliknięciu na link do pliku będzie widać tylko kilka znaczków. Plik należy albo zapisać na dysku, albo po kliknięciu na link włączyć źródło strony.

index.txt

lockoom napisał(a):

Raczej nie do odratowania.
Polecam Pajączka do edycji plików tekstowych. Tworzy kopie bezpieczeństwa, a dla programistów PHP ma dynamiczny kod i podpowiedzi.

daroc napisał(a):

Pajączka znam. Sam używałem (bardzo dobry, szkoda tylko, że trochę kosztuje), ale do czasu, gdy przyszło mi pracować na P166...
Notepad2 pracował dużo szybciej, dlatego wybrałem właśnie jego.

Okazało się, że mam kopię zapasową tego pliku - i to zupełnie przez przypadek, bo zrobiłem kopię, gdy około tydzień temu wprowadzałem istotne zmiany do skryptu, więc gdyby mi coś nie poszło, mógłbym wtedy łatwo cofnąć przeprowadzone zmiany. Przez ten tydzień w skrypcie wiele się zmieniło, no ale lepsze to, niż stracić wszystko.

Mimo wszystko, chciałbym się dowiedzieć, co było przyczyną tego zdarzenia... confused

Woj72 napisał(a):

metoda na odzyskanie pliku

Możesz spróbować odzyskać plik w formie ostatnio zapisanej na dysku przy pomocy PC File Recovery

http://www.pcinspector.de/download.htm#file_recovery

Aby skutecznie odzyskać plik ważne jest to, żeby jak najmniej (najlepiej wcale) mieszać na dysku - żadnego kopiowania, zapisywania itd.
Sam program polecam zainstalować na innej partycji (żeby nie nadpisał pliku do odzyskania)

powodzenia i pozdro.

daroc napisał(a):

Wskazany program nie ma możliwości przywracania plików PHP... Lista typów plików jest bardzo ograniczona.
Zresztą nie wiem, czy programy tego typu pomogą, bo przecież plik nie został usunięty. Został zastąpiony przez coś innego, a więc w jego miejscu istnieją inne dane.
AFAIK da się przywracać nawet nadpisane pliki w specjalnych laboratoriach, ale to raczej kosztowne...

Tak więc chyba zajmę się moim plikiem sprzed tygodnia, bo szukanie sposobu pewnie zajmie mi więcej czasu, aniżelibym pisał od nowa. bigsmile Szkoda pracy, którą już włożyłem, ale znaczną część mam (backup), więc jakoś się odrobi.
Chciałbym jedynie wiedzieć, czy to rzeczywiście Notepad2 spowodował to zamieszanie.

Cyki napisał(a):

Sądząc po tym co jest w środku pliku to chyba wina systemu. Prawdopodobnie zdumpował informacje o błędzie nie tam gdzie trzeba.

KERNEL.EXE NETX.COM NETX.EXE NET5.COM 	BNETX.COM 	BNETX.EXE EMSNETX.EXE EMSNET5.EXE XMSNETX.EXE XMSNET5.EXE  DOSOAD.SYS REDIR50.EXE  REDIR5.EXE REDIRALL.EXE REDIRNP4.EXE 	EDLIN.EXE  BACKUP.EXE i dalej podobne 
BŃd sprz©towy A20. Aby zidentyfikowaą problem, zwróą si© do  pomocy technicznej.