Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >

mstraczkowski
Napisane: 16.05.2015, 20:45:31





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Myślę, że to także Ciebie w jakimś stopniu dotyczy:
https://www.youtube.com/watch?v=ca5znVIlpy0
  Forum: Hydepark · Podgląd postu: #1158342 · Odpowiedzi: 1 · Wyświetleń: 549

mstraczkowski
Napisane: 19.04.2015, 00:54:34





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Na tyle na ile mogę zrozumieć cel działania tej funkcji, to wydaje mi się, że posiadasz błędne dane w pliku tekstowym.
Albo odczytujesz je w nieprawidłowy sposób (może za mało lub za dużo spacji w explode)

Gdy utworzyłem sobie skróconą wersję twojej funkcji z danymi na sztywno w tablicy (bez czytania z pliku)
To wydaje mi się, że otrzymywany wynik jest prawidłowy.

I jeszcze jedna uwaga, funkcja in_array odróżnia wielkość liter (to znaczy, że np Mam != mam)

  1. function translate($tString){
  2.  
  3. $pVerb = array('Mam', 'na', 'imie', 'Maciek');
  4. $dVerb = array('My', 'name', 'is', 'Maciek');
  5.  
  6. $rawString = explode(' ',$tString);
  7.  
  8. for($x=0; $x<count($rawString); $x++){
  9. if(in_array($rawString[$x], $pVerb)){
  10. $eString[] = $dVerb[$x];
  11. }
  12. }
  13. return $eString;
  14. }
  15.  
  16. var_dump(translate('Mam na imie Maciek'));
  Forum: PHP · Podgląd postu: #1155014 · Odpowiedzi: 8 · Wyświetleń: 425

mstraczkowski
Napisane: 19.04.2015, 00:25:35





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Na pierwszy rzut oka, linijka 14 - używasz zmiennej $nx, która nie istnieje.

Dodatkowo proponowałbym zadeklarować sobie zmienną $eString wcześniej jako np. pusta tablica.
Zwracasz ją w wyniku funkcji, a nie zawsze będzie ona wypełniania (musi być spełniony konkretny warunek)

Dzięki temu, funkcja zwróci ci pustą tablicę zamiast NULL + notice w przypadku gdy nie dojdzie do jej wypełniania.
  Forum: PHP · Podgląd postu: #1155012 · Odpowiedzi: 8 · Wyświetleń: 425

mstraczkowski
Napisane: 1.10.2014, 02:06:48





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Z reguły nie podaję gotowych rozwiązań, ale jakoś tak dzisiaj zrobię wyjątek.
Moje zmiany na pewno nie są majstersztykiem w dziedzinie HTML, ale reszta kodu także nim nie jest smile.gif

http://pastebin.com/e2Ug7G20
  Forum: Przedszkole · Podgląd postu: #1127022 · Odpowiedzi: 3 · Wyświetleń: 735

mstraczkowski
Napisane: 1.10.2014, 01:50:23





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Użycie do tego celu pliku robots.txt (który musi być publiczny) i może być odczytany przez cokolwiek i kogokolwiek daje możliwość osobom trzecim ustalenia pod jakim adresem znajduje się panel administracyjny.
Pomimo zabezpieczenia w postaci ewentualnego logowania, nie jest to raczej efektem pożądanym.

Moim zdaniem najlepiej do tego celu wykorzystać meta tag robots, który umieszczamy w panelu i jego podstronach:
  1. <meta name="robots" content="noindex, nofollow" />
  Forum: Przedszkole · Podgląd postu: #1127021 · Odpowiedzi: 4 · Wyświetleń: 1 023

mstraczkowski
Napisane: 1.10.2014, 09:32:04





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Jakiś czas temu przeprowadzałem test przechowywania dokumentów PDF w systemie plików i w bazie danych.
MySQL słabo radzi sobie z przechowywaniem większej ilości plików w tabelach i jest to mało optymalne rozwiązanie.

Dlatego lepiej jest przechowywać pliki w systemie plików, a w bazie zapisywać tylko ich ścieżki lub linki.
  Forum: Przedszkole · Podgląd postu: #1127036 · Odpowiedzi: 2 · Wyświetleń: 457

mstraczkowski
Napisane: 12.05.2014, 09:40:04





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Podane przeze mnie przykładowe `column` jest nazwą kolumny w tabeli, w której przechowujesz wartości do zmiany (prawdopodobnie wspomniane adresy e-mail)

Załóżmy, że posiadasz tabelę z adresami e-mail o nazwie adresy_email, a w niej zawarta jest kolumna o nazwie email
Więc twoje zapytanie powinno wyglądać w sposób następujący:

  1. UPDATE `adresy_email` SET `email` = CONCAT('bbb', `email`);
  Forum: Bazy danych · Podgląd postu: #1106239 · Odpowiedzi: 4 · Wyświetleń: 1 186

mstraczkowski
Napisane: 10.05.2014, 07:37:17





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Dokładnie, od razu napisz prostu z mostu swoje stanowisko w tej sprawie.
Zaoszczędzisz swój i ich czas, nie przejmuj się tym "co sobie pomyślą"
  Forum: Hydepark · Podgląd postu: #1106008 · Odpowiedzi: 14 · Wyświetleń: 845

mstraczkowski
Napisane: 24.12.2013, 13:10:50





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Korzystanie z kilku baz danych ma charakter zazwyczaj tylko wydajnościowy.
Tak samo jak czasami korzysta się z kilku różnych serwerów, aby rozłożyć obciążenie.
  Forum: PHP · Podgląd postu: #1082005 · Odpowiedzi: 5 · Wyświetleń: 380

mstraczkowski
Napisane: 16.12.2013, 00:43:10





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Dużym problemem nie jest rzucić pod evala np. rekursywne usuwanie katalogów na serwerze smile.gif
  Forum: Przedszkole · Podgląd postu: #1080674 · Odpowiedzi: 5 · Wyświetleń: 229

mstraczkowski
Napisane: 30.11.2013, 13:30:04





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Zapytanie, które podałem jako ostatnie, musi zadziałać prawidłowo, sprawdź czy na pewno dobrze podałeś nazwy kolumn, tabeli.
Podam jeszcze raz to samo zapytanie, ale w zapisie w jednej linii

  1. SELECT * FROM (SELECT * FROM table1 ORDER BY `date` DESC LIMIT 3) T1 ORDER BY RAND()

Dodatkowo zaznaczam, że używanie RAND(), nie jest najlepszym rozwiązaniem jeżeli chodzi o wydajność.
  Forum: PHP · Podgląd postu: #1078158 · Odpowiedzi: 9 · Wyświetleń: 411

mstraczkowski
Napisane: 25.11.2013, 17:20:15





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Sprawdź sobie zawartość tablicy super globalnej $_SERVER, powinieneś coś tam znaleźć smile.gif
Lecz miej także na uwadze to, że nie każdy serwer "umieszcza" w tej tablicy takie same informacje.
  Forum: PHP · Podgląd postu: #1077258 · Odpowiedzi: 4 · Wyświetleń: 278

mstraczkowski
Napisane: 19.11.2013, 01:23:22





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Cytat(Foxx @ 18.11.2013, 23:25:52 ) *
1. Po co mi właściwie jest ten dev? Nikt niczego nie robi z gałęzią dev projektu online, testy są przeprowadzane na stage. Efekt byłby taki sam gdyby pracować od razu na stage. A więc może czegoś nie biorę pod uwagę?

To pytanie raczej kierowałbym do twojego project managera / kierownika / szefa.
My tutaj nie znamy waszej infrastruktury, waszych założeń i podejścia do tworzenia projektów.

Na stan aktualny, tak jak to przedstawiłeś, bez argumentacji istnienia dev
To także uważam podobnie, że wystarczyłyby tylko te dwie zdalne gałęzie.

Cytat(Foxx @ 18.11.2013, 23:25:52 ) *
2. Założenie z dev - stage - master rozumiem tak, że programiści pracują na devie, mergują na stage dla testerów, a potem na master dla użytkowników.
Ale co zrobić w sytuacji, w której chcę się zająć dwoma zagadnieniami równolegle i jedno zakończyłem i chcę pushować, a drugie jeszcze jest w rozsypce i nie chcę go wypuszczać? Mam tą swoją gałąź dev i nie widzę żadnego sposobu żeby to rozwiązać poza tym, żeby prace nad osobnymi zagadnieniami, które mogą nie zostać skończone rozpoczynać na osobnych gałęziach stworzonych tylko pod te konkretne zagadnienia. Ale nie jestem pewien czy to prawidłowe no bo narzucono mi dev-stage-master jak gdyby nie przewidując tworzenia innych gałęzi.

To jest właśnie piękno GIT, że możesz sobie tworzyć lokalne gałęzie, których wcale nie musisz pushować na serwer.
Pracujesz sobie na nich, a gdy masz wszystko gotowe mergujesz je do lokalnego dev i lokalne dev pushujesz na serwer.

Czyli na przykład wprowadzasz dwie poprawki równolegle, to tworzysz sobie dwie lokalne gałęzie o nazwach fix001 oraz fix002
W jednej wprowadzasz jedną poprawkę, a w drugiej drugą poprawkę, gdy zakończysz pierwszą to mergujesz fix001 z dev i pushujesz
Gdy zakończysz drugą to mergujesz fix002 z dev i także pushujesz.

GIT jest systemem rozproszonym i w swoim lokalnym środowisku możesz sobie tworzyć ile chcesz gałęzi.
Po to, aby pracowało ci się najlepiej jak to możliwe, natomiast to sam efekt końcowy zmergowany pushujesz na serwer.

Cytat(Foxx @ 18.11.2013, 23:25:52 ) *
a) Testerzy informują o poprawności kolejnych kwestii i gdyby zatwierdzili wszystkie to mógłbym zrobić merge dla master, ale przecież ciągle przybywa tasków na stage więc ciągle są jakieś nieprzetestowane. Kiedy więc jest dogodny moment na merge dla master skoro zawsze część spraw może być nieprzetestowana?

Dogodny moment jest wtedy, kiedy ty i testerzy skończycie pracę nad tym projektem / zagadnieniem.
Zmiany powinny być wprowadzone po zakończeniu prac nad danym zagadnieniem, a nie na bieżąco (w trakcie).
Tym, bardziej że często zagadnienia są ze sobą powiązane w jakiś sposób.

Wprowadzane poprawki możecie łączyć sobie w pakiety poprawek.
Np. jeżeli otrzymaliście 10 zgłoszeń błędów, to przenieście te wszystkie poprawki jako jeden pakiet.
Uwzględnijcie to zarówno podczas testów jak i podczas developingu - tutaj już musicie się jakoś sami dogadać.

Cytat(Foxx @ 18.11.2013, 23:25:52 ) *
b ) Gdy już robię merge dla master np. pod koniec dnia to tak naprawdę nie mogę być pewien, że to wszystko działa. Co w takim razie zrobić? Testować ponownie wszystkie taski na master? Boję się zrobić merge i iść spać bo rano może się okazać, że cały serwis leżał przez noc. Gdybym miał nadmiar testerów, którzy pracują całą dobę to mógłbym im dać do testowania wszystkie te zagadnienia tym razem na master. Ale co robić gdy nie mam aż tyle zasobów testujących?

Myślę, że kwestię tego pytania wyjaśnia poniekąd moja odpowiedź do podpunktu a)
Dodam jeszcze, że uważam za konieczne powtórzenie testów po merge na master.

Cytat(Foxx @ 18.11.2013, 23:25:52 ) *
c) Robię merge dla master i kilkanaście zadań wskakuje na serwis online. Zanim każde zostanie przetestowane, nawet gdy mam wbród testerów to część rzeczy może leżeć, a to jest niedopuszczalne. Jak to rozwiązać? Przecież takich zagadnień mergowanych z master może być np. 100 pod koniec dnia jeżeli jest wielu programistów.

Tutaj także musicie się indywidualnie dogadać i puszczać te zadania mniejszymi partiami (jeżeli nie są one powiązane ze sobą).
Tak jak wspominałem o "pakietach poprawek" puszczacie 1 pakiet - powtórka testów na master, drugi - powtórka testów na master itd.
  Forum: Kontrola i zarządzanie projektami · Podgląd postu: #1076158 · Odpowiedzi: 6 · Wyświetleń: 1 632

mstraczkowski
Napisane: 18.11.2013, 15:13:45





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

W drugim przypadku nie rzutujesz całego wyrażenia na boolean, rzutujesz tylko pierwszy string (index.php).
Co w rzeczywistości daje ci porównanie true == panel_logowania.php
Natomiast z kolei to wyrażenie skutkuje zwróceniem true, ponieważ string panel_logowania.php jest logiczną prawdą

W trzecim przypadku rzutujesz wynik całego wyrażenia na boolean, co daje ci false
Ponieważ index.php nie jest równy panel_logowania.php - już na tym etapie otrzymujesz czyste logiczne false.
Więc twoje ponowne rzutowanie to nic innego niż (boolean)false

Natomiast pierwszy przypadek jest analogiczny do trzeciego, z tym że nie rzutujesz wyniku wyrażenia
Czyli nie wykonujesz tego zbędnego (boolean)false na końcu, o którym wcześniej wspominałem.

Jeżeli zależy ci na porównywaniu typów zainteresuj się operatorem identyczności ===
Oprócz zwykłego porównywania wartości, sprawdza on także typy danych

Więc, jeżeli użyjemy tego operatora do porównania true === 'string' otrzymamy false
  Forum: PHP · Podgląd postu: #1076050 · Odpowiedzi: 3 · Wyświetleń: 440

mstraczkowski
Napisane: 20.10.2013, 10:20:54





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Możesz spróbować chociażby w taki spoósb

  1. <?php
  2. $matches = array();
  3. $value = '<a href="http://moja-strona.pl/coś?.target=wycinam123&src=pg">';
  4.  
  5. preg_match_all('/(\d+)&src/', $value, $matches);
  6. print_r($matches);
  Forum: Przedszkole · Podgląd postu: #1071012 · Odpowiedzi: 22 · Wyświetleń: 686

mstraczkowski
Napisane: 20.10.2013, 10:11:50





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Wujek google, prezentuje sporo wyników pod frazą php html to jpg

Mógłbyś spróbować utworzyć PDF na podstawie HTML, a potem PDF'a zamienić na obrazek
http://buffernow.com/html-to-image-php-script/

@up Kolego, masz literówkę w sygnaturce w warunku (operator przypisania, zamiast porównania) smile.gif
  Forum: PHP · Podgląd postu: #1071010 · Odpowiedzi: 4 · Wyświetleń: 425

mstraczkowski
Napisane: 19.10.2013, 12:23:42





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Zamiana enterów na <br /> to funkcja nl2br
A jeżeli chodzi ci o coś więcej to proszę bardzo:

TinyMCE
CKEditor
  Forum: Po stronie przeglądarki · Podgląd postu: #1070929 · Odpowiedzi: 1 · Wyświetleń: 455

mstraczkowski
Napisane: 6.10.2013, 10:33:15





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Nie ma możliwości dołączenia zdalnego pliku php.
Dołączany plik musi znajdować się lokalnie.
  Forum: Przedszkole · Podgląd postu: #1068954 · Odpowiedzi: 2 · Wyświetleń: 497

mstraczkowski
Napisane: 28.09.2013, 15:07:09





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Nie spotkałem się nigdy z taką kosntrukcją - jest ona nieprawidłowa oraz nielogiczna.
Jest to zwyczajny błąd w druku książki
  Forum: PHP · Podgląd postu: #1067973 · Odpowiedzi: 6 · Wyświetleń: 336

mstraczkowski
Napisane: 22.09.2013, 14:20:03





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Przeczytaj dokumentację funkcji mysql_fetch_assoc
Ona zwraca tablicę, a porównujesz ją do stringa
  Forum: PHP · Podgląd postu: #1066683 · Odpowiedzi: 2 · Wyświetleń: 219

mstraczkowski
Napisane: 21.09.2013, 12:14:27





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Wydaje mi się, że jedynym rozwiązaniem byłoby:

* Włączenie systemu logowania zdarzeń na serwerze FTP do jakiegoś pliku (na pewno coś takiego istnieje)
* Następnie ten plik parsować w PHP okresowo (cron)

Nie wydaje mi się, aby jakiś serwer FTP miał opcje wysyłania logów do PHP.
  Forum: PHP · Podgląd postu: #1066540 · Odpowiedzi: 1 · Wyświetleń: 321

mstraczkowski
Napisane: 20.09.2013, 19:03:06





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

W takim razie wniosek jest prosty, twój skrypt potrzebuje więcej niż 128 MB pamięci.
Spróbuj ustawić dla niego 256 MB

Tak czy siak uważam, że jest to źle napisany skrypt skoro potrzebuje więcej pamięci niż wartość domyślna.
  Forum: Przedszkole · Podgląd postu: #1066449 · Odpowiedzi: 5 · Wyświetleń: 616

mstraczkowski
Napisane: 13.09.2013, 12:21:56





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Przyda ci się funkcja call_user_func_array(array($obiektController, $stringAkcja), $parametryAkcji)
  Forum: PHP · Podgląd postu: #1065177 · Odpowiedzi: 2 · Wyświetleń: 308

mstraczkowski
Napisane: 23.06.2013, 02:00:23





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Źródłem twojego problemu jest funkcja array_rand, a nie range

W dokumentacji możemy przeczytać:

Cytat
If you are picking only one entry, array_rand() returns the key for a random entry. Otherwise, it returns an array of keys for the random entries.

Zaznaczyłem najważniejsze zdanie, które powinno Ci rozświetlić co się dzieje.
Po prostu zwracana jest tablica KLUCZY, a nie wartości - z stąd twoje "0"

Jeżeli chcemy tutaj użyć array_rand
To możemy to zadanie wykonać na przykład w poniższy sposób:

  1. $numberArray = range(1, 49);
  2. $randomKeys = array_rand($numberArray, 6);
  3. $random = array();
  4.  
  5. foreach ($randomKeys as $key) {
  6. $random[] = $numberArray[$key];
  7. }
  8.  
  9. echo 'Wylosowane liczby to: '.implode(',', $random);

Można także rozwiązać to zadanie za pomocą funkcji mt_rand
Za pomocą odpowiedniej pętli i warunku uwzględniam to, że liczby nie mogą się powtarzać

  1. $min = 1;
  2. $max = 49;
  3. $count = 6;
  4. $numbers = array();
  5.  
  6. while (count($numbers) < $count) {
  7. $randomNum = mt_rand($min, $max);
  8.  
  9. if (!in_array($randomNum, $numbers)) {
  10. $numbers[] = $randomNum;
  11. }
  12. }
  13.  
  14. echo 'Wylosowane liczby to: '.implode(',', $numbers);
  Forum: Przedszkole · Podgląd postu: #1052111 · Odpowiedzi: 3 · Wyświetleń: 338

mstraczkowski
Napisane: 20.05.2013, 01:56:47





Grupa: Zarejestrowani
Postów: 273
Dołączył: 3.02.2013
Skąd: Przemyśl

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

Jeżeli dobrze zrozumiałem, a o 3:00 w nocy - może być ciężko wink.gif

To myślę, że za pomocą metody magicznej __get dałbyś radę coś takiego otrzymać
Wydaje mi się jednak, że idziesz złą drogą, ale jeżeli jesteś tego pewien to powyższy link powinien ci pomóc.

Pozdrawiam
  Forum: Object-oriented programming · Podgląd postu: #1046090 · Odpowiedzi: 3 · Wyświetleń: 608

3 Stron V   1 2 3 >

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 17.04.2024 - 00:22