Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Skrypt uruchamiający się w dni robocze o 17
VirgoPl
post 15.03.2015, 19:07:23
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


Hej pisze fajną stronę dla szkoły i mam zamiar wprowadzić codzienne losowanie na niej numerka niepytanego co zwiększy ruch na stronie. Powiedzmy że skrypt losowania dam radę ogarnąć ale uruchamianie go o danych godzinach średnio. Więc wszystko ma wygladac tak że na stronie dzień wcześniej czyli dla poniedziałku w niedzielę o 17 będą miały być losowane dwa numery z zakresu 1-32 i wyświetlane na stronie do następnego losowania. Jak to ogarnąć ?
Go to the top of the page
+Quote Post
Forti
post 15.03.2015, 19:37:13
Post #2





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


CRON

Lub po prostu gdy strona sie ląduje sprawdzaj godzinę i jezeli 17 to loduj liczbe i ja zapisuj w bazie wraz z data. Sprawdzaj czy data jest dzisiejsza aby jej nie nadpisać inna.


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post
VirgoPl
post 15.03.2015, 20:00:02
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


CRON odpada mam ograniczone możliwości a do tego sprawdzania pomoglbys mi to ogarnąć jakoś ? Jakiś kodzik czy coś i czy jest możliwość by zapis był do pliku i sprawdzanie też z pliku a nie z bazy ? Administrator (tzn nauczyciel infy) w naszej szkole woli proste rozeiazania bez baz
Go to the top of the page
+Quote Post
Aqu
post 15.03.2015, 20:22:11
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


  1. Administrator (tzn nauczyciel infy) w naszej szkole woli proste rozeiazania bez baz

Tak, bo robienie takich rzeczy na plikach jest na pewno prostsze. biggrin.gif
No ale:

- określasz następny dzień szkolny: http://stackoverflow.com/questions/5532002...ven-date-in-php
- sprawdzasz czy istnieje plik dd-mm-yyyy.txt : http://php.net/manual/en/function.file-exists.php
- jeżeli nie, to losujesz liczby i zapisujesz do takiego pliku http://php.net/manual/en/function.rand.php + http://php.net/manual/en/function.file-put-contents.php
- pobierasz liczbę z pliku: http://php.net/manual/en/function.file-get-contents.php
- wyświetlasz liczbę
Go to the top of the page
+Quote Post
VirgoPl
post 15.03.2015, 20:35:55
Post #5





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


Okej jest powiedzmy wszystko zaraz się tym zajmę no ale brakuje mi tego iż co ma to uruchomić mamy sprawdzenie czy jest plik mamy stworzenie pliku ale czy jest wywołanie funkcji o danej godzinie ?
Go to the top of the page
+Quote Post
Aqu
post 15.03.2015, 20:41:15
Post #6





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


Wykonujesz ten skrypt za każdym razem jak ktoś wejdzie na stronę. Jeszcze musisz dać warunek, jeżeli jest przed godziną 17, to robisz to wszystko dla aktualnej daty, jeśli po 17, to następnego dnia roboczego.
Go to the top of the page
+Quote Post
VirgoPl
post 15.03.2015, 20:43:20
Post #7





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


Troche to dla mnie nieogarnięte dało by rade byś mi wytłumaczył to na jakimś skype albo ts3 ?
Go to the top of the page
+Quote Post
Pyton_000
post 16.03.2015, 10:52:38
Post #8





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Masz, w ramach poniedziałkowego rozruszania
Nie gwarantuje 100% działania, bo nawet nie testowałem.
  1. <?php
  2.  
  3. $szczesliwy_numerek = [
  4. 'data' => '2015-03-17',
  5. 'numery' => [11,12]
  6. ];
  7.  
  8. $tablica = json_decode(file_get_contents('szczesliwynumerek.txt'));
  9.  
  10. if(date('H') <= 17 && date('Y-m-d') == $tablica['data'] || !empty($tablica))
  11. {
  12. $numerki = range(1, 31);
  13. $numerki = array_diff($numerki, $tablica['numery']);
  14. $tablica['numery'] = array_slice(array_rand($numerki), 0, 2);
  15.  
  16. file_put_contents('szczesliwynumerek.txt', json_encode($tablica));
  17. }
Go to the top of the page
+Quote Post
VirgoPl
post 16.03.2015, 17:37:26
Post #9





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


Wkleiłem kodzik i taki błąd Parse error: syntax error, unexpected '[' in /home/p427883/public_html/numerek.php
wie ktoś o co chodzi ?

Ten post edytował VirgoPl 16.03.2015, 18:51:29
Go to the top of the page
+Quote Post
sazian
post 16.03.2015, 20:03:23
Post #10





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


masz stare php
  1. $szczesliwy_numerek = array(
  2. 'data' => '2015-03-17',
  3. 'numery' => array(11,12)
  4. );

ale ja myślę że lepiej użyć filemtime jeśli od ostatniej aktualizacji upłynęły 24h i jest po 17:00 to losujesz nowy numerek i go zapisujesz
Go to the top of the page
+Quote Post
VirgoPl
post 16.03.2015, 20:19:16
Post #11





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


ok gdy nie było pliku tekstowego to wywalało błąd a teraz gdy go stworzyłem oczywiście pusty to on nic w nim nie zapisuje
Go to the top of the page
+Quote Post
Aqu
post 16.03.2015, 21:13:37
Post #12





Grupa: Zarejestrowani
Postów: 279
Pomógł: 58
Dołączył: 14.07.2012

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


Robisz to na jakimś serwerze? Jeśli tak, to sprawdź chmody - prawa dostępu do pliku.
Go to the top of the page
+Quote Post
VirgoPl
post 16.03.2015, 22:16:12
Post #13





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


Czyli całość wygląda tak :
Kod
<?php

$szczesliwy_numerek = array(
'data' => '2015-03-17',
'numery' =>  array(11,12)
);

$tablica = json_decode(file_get_contents('szczesliwynumerek.txt'));

if(date('H') <= 17 && date('Y-m-d') == $tablica['data'] || !empty($tablica))
{
    $numerki = range(1, 31);
    $numerki = array_diff($numerki, $tablica['numery']);
    $tablica['numery'] = array_slice(array_rand($numerki), 0, 2);

    file_put_contents('szczesliwynumerek.txt', json_encode($tablica));
}
include('szczesliwynumerek.txt')
?>

Ale dalej nic nie tworzy w tym pliku plik txt ustawiony na 777 ma wszystkie uprawnienia a nadal jest pusty
Go to the top of the page
+Quote Post
Pyton_000
post 17.03.2015, 12:23:35
Post #14





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


wrzuć do pliku:
Kod
{"data":"2015-03-17","numery":[11,12]}
Go to the top of the page
+Quote Post
VirgoPl
post 17.03.2015, 15:45:26
Post #15





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


Teraz takie coś
Fatal error: Cannot use object of type stdClass as array in /home/p427883/public_html/numerek.php on line 10
Go to the top of the page
+Quote Post
Pyton_000
post 17.03.2015, 15:50:42
Post #16





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


a do jakiego pliku o wrzuciłeś ;>
Go to the top of the page
+Quote Post
VirgoPl
post 17.03.2015, 15:55:37
Post #17





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


cały kod mam w osobnym pliku php potem sobie to do stronki zaimplementuje w tym samym folderze jest klik tekstowy szczesliwynumerek a w nim polecenie które kazałeś mi wkleić owy plik tekstowy ma uprawnienia 777
Go to the top of the page
+Quote Post
Pyton_000
post 17.03.2015, 15:58:01
Post #18





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ale ty to miałeś wkleić do pliku szczesliwynumerek.txt a nie kodu PHP
Go to the top of the page
+Quote Post
VirgoPl
post 17.03.2015, 15:59:30
Post #19





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.03.2015

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


Cytat(VirgoPl @ 17.03.2015, 15:55:37 ) *
w tym samym folderze jest plik tekstowy szczesliwynumerek a w nim polecenie które kazałeś mi wkleić

czyli jest tam to {"data":"2015-03-17","numery":[11,12]}
Go to the top of the page
+Quote Post
Pyton_000
post 17.03.2015, 16:02:47
Post #20





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


wywal to: include('szczesliwynumerek.txt')
przecież to niczego nie wnosi.

Czy Ty znasz w ogóle podstawy PHP ?
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 12.06.2024 - 14:43