ďťż
Podstrony
|
telcocafeJak w php wyswietlic zawartosc pliku tekstowego... zawartosc pliku to tylko jedna liczba. Szukałem na tym forum i jakos nie moglem znajsc nie wiem moze slepy jestem :P Jezeli dubluje temat to dajcie link gdzie to bylo. Acha prosze jasno bo z php raczej zielony jestem (jak widac zreszta po pytaniu).nie chodzi o <? include ('plik.txt'); ?> ..? moze nie zrozumialem? Użytkownik yoyek edytował ten post 12 grudzień 2006, 20:52 file_get_contents + manual na php.net Ok wyswuetla zawartosc pliku tak to wyglada: $content=file_get_contents("licznik.txt",FALSE,NULL,0,20); echo $content; A tak wyglada moj licznik klikniec: <?php $plik=$_GET['http://coler0.host.sk/skrzydla.mp3']; if(file_exists($plik)) { $zawartosc_licznika=implode('',file('licznik.txt')); $zawartosc_licznika++; $file=fopen('licznik.txt','w'); flock($file,2); fwrite($file,$zawartosc_licznika); flock($file,3); fclose($file); header('Location:'.$plik); } ?> I pytanie czemu nie dolicza do pliku tekstowego kolejnych klikniec, chmod zmienilem na 644. Co jeszcze mam zrobic? Co to jest $plik=$_GET['http://coler0.host.sk/skrzydla.mp3'];? Masz taką zmienną przekazywaną przez GET? no tu powinien byc chyba adres do pliku tzn tak mysalem :P jak nie to oswiec mnie jak to ma byc ten skrypt ma tez inicjowac pobieranie pliku. $plik=$_GET['http://coler0.host.sk/skrzydla.mp3']; if(file_exists($plik)) { ... Po pierwsze adresik masz w kluczu tablicy niby.... a to powinna być wartość raczej, bo sprawdzasz botem wartość (chyba ze w wartości masz to samo, chociaż wątpię, bo jak zmienną GET można nazwać w ten sposób...). Po drugie daj link względny do pliku (z polskiego na nasze samą nazwę pliku) EDIT: znów mnie uprzedzili... EDIT 2: no tu powinien byc chyba adres do pliku tzn tak mysalem tongue.gif jak nie to oswiec mnie jak to ma byc ten skrypt ma tez inicjowac pobieranie pliku. $plik=$_GET['plik']; a w adresie strony dajesz np. http://coler0.host.s...ik=skrzydla.mp3 Użytkownik kutar edytował ten post 12 grudzień 2006, 21:16 Wzglednego nie moge dac bo jest na innym serwerze niestety. to moze ktos zmodyfikuje ten moj skrypt i pokaze jak to powinno wygladac bo troche nie jarze... Czyli, chyba<?php $plik='http://coler0.host.sk/skrzydla.mp3'; if(file_exists($plik)) { $zawartosc_licznika=implode('',file_get_contents('licznik.txt')) ; $zawartosc_licznika++; $file=fopen('licznik.txt','w'); flock($file,2); // to chyba nie jest konieczne? ale nie jestem pewien fwrite($file,$zawartosc_licznika); flock($file,3); // j. w. fclose($file); header('Location:'.$plik); } ?> <?php $zawartosc_licznika=implode('',file('licznik.txt')); $zawartosc_licznika++; $file=fopen('licznik.txt','w'); flock($file,2); fwrite($file,$zawartosc_licznika); flock($file,3); fclose($file); header('Location:http://coler0.host.sk/skrzydla.mp3'); ?> Może tak - bez sprawdzania obecności pliku na serwerze, bo nie wiem czy można sprawdzić obecność pliku na innym serwerze funkcją file_exists() A flock() przy zapisie raczej powienien być. Bo co by było gdyby 2 kopie skryptu chciały dostępu do tego pliku w tym samym czasie... Kiedyś tego nie stosowałem to dostałem nauczke... ;P Użytkownik kutar edytował ten post 12 grudzień 2006, 21:21 Zrboilem tak jak pisaliscie no i plik znajduje sie tam na serwie tyle ze jest problem przy klikaniu na odnosnik You don't have permission to access /skrzydla.mp3 on this server. Zdaje sie ze nie mozna z zewnatrz linkowac do tego serwa :/ Moze idzie to jakos ominac? Hmmm... A jak nazwałeś plik, który ma dodać 1 do licznika i nastepnie przekierować przeglądarke (najlepiej podaj linka) i zapokaż jeszcze całe źródło tego pliku Plik nazwalem pobierz.php Jego zrodlo: <?php $plik='http://coler0.host.sk/skrzydla.mp3'; $zawartosc_licznika=implode('',file_get_contents('licznik.txt')); $zawartosc_licznika++; $file=fopen('licznik.txt','w'); flock($file,2); fwrite($file,$zawartosc_licznika); flock($file,3); fclose($file); header('Location:'.$plik); ?> Daj linka do pliku pobierz.php http://croust.ovh.org/pobierz.php // nie wiem co sie stalo ale teraz wszystko dziala!! Dzieki wszystkim za pomoc!! // i znowu nie dziala nie wiem co jest grane Użytkownik coler0 edytował ten post 12 grudzień 2006, 21:54 U mnie się normalnie wyświetla okienko pobierania. Sprawdziłem Firefoxem i IE i nie było rzadnych problemów. Możesz jakoś przybliżyć sytuację kiedy pojawia się ten komunikat? @EDIT: a jednak mnie uprzedziłes;] Użytkownik kutar edytował ten post 12 grudzień 2006, 21:54 No walsnie ten problem ze u mnie tez ze dwa razy sie wyswietlilo a teraz znowu to samo co bylo :/// <a href="pobierz.php">.::Pobierz::.</a> -> To jest jeszcze moj link na stronie do tego pobierz.php Jak wywoluje wlasnie ze strony to jest blad, jak wpisuje w przegladarke adres do pliku pobierz jest ok. Moze tutaj jest blad? Użytkownik coler0 edytował ten post 12 grudzień 2006, 22:01 Tutaj ewidentnie serwer blokuje linkowanie z innych serwisów. Ma to zabezpieczyć usługodawców darmowych hostingów przed umieszczaniem jedynie plików do downloadu. I właśnie w tym przypadku się sprawuje;] Co prawda możemy jakoś obchodzić to przez cURLA i wysyłanie spreparowanego REFERERA, ale prościej umieścić plik na innym serwie. Jeśli w grę wchodzi tylko ten jeden plik to proponuję umieścić to na serwerku, który otrzymałeś np z pocztą (WP, Onet, Interia). Możesz też się rozejrzeć za czymś większym. Ale skoro potrzebujesz tego tylko dla jednego pliku to mozna skorzystać przecież z tego co masz razem z kontem pocztowym;] Napisz moze jak to ominac bo chcialbym zeby ten plik byl na tym serwie. Pokaz jak powinno wygladac uzycie tego cURLA przyda sie na przyszlosc. <?php $zawartosc_licznika=implode('',file('licznik.txt')); $zawartosc_licznika++; $file=fopen('licznik.txt','w'); flock($file,2); fwrite($file,$zawartosc_licznika); flock($file,3); fclose($file); header('Content-Type: audio/mpeg3'); header('Content-Disposition: attachment; filename=skrzydla.mp3'); $c=curl_init('http://coler0.host.sk/skrzydla.mp3'); curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1) Gecko/20061010 Firefox/2.0'); curl_setopt($c,CURLOPT_REFERER,'http://coler0.host.sk/'); curl_exec($c); curl_close($c); ?> Użytkownik kutar edytował ten post 12 grudzień 2006, 22:41 O to chodzilo jeszcze raz wielkie dzieki dla wszystkich teraz smiga tylko nie wiem czy licznik zlicza poprawnie ale sprobuje to sam zalatwic. //liczniczek dziala wszystko gra i buczy:p Użytkownik coler0 edytował ten post 12 grudzień 2006, 22:53 |
|||
Sitedesign by AltusUmbrae. |