Dodany: 22 listopada, 2014 | Kategoria: PHP
Jeśli w PHP zabraknie pamięci, to wyświetli się stosowny komunikat na ten temat i skrypt wysypie się.
Można jednak zarezerwować sobie trochę pamięci, aby wyświetlić własny komunikat o błędzie:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?php
error_reporting(0);
ini_set('memory_limit', '1M');
$memory = str_repeat('x', 262144);
register_shutdown_function('handleFatalError');
function handleFatalError() {
global $memory;
unset($memory);
$error = error_get_last();
echo $error['message'] . PHP_EOL . $error['type'] . PHP_EOL . $error['type'] . PHP_EOL . $error['file'] . PHP_EOL . $error['line'] . PHP_EOL;
}
// uncomment one of them:
// this_function_doesnt_exists();
// or
$memory_error = str_repeat('x', 500000); |
// zaczerpnięte z kodu Yii 2
Brak komentarzy »
Dodany: 21 października, 2014 | Kategoria: HTML
Jeśli wstawimy obrazek w element blokowy w HTML5 i nadamy obrazkowi zdefiniowany rozmiar, element nadrzędny będzie o 3px wyższy i będzie posiadał dziwny margines na dole. Okazuje się, że HTML5 traktuje obrazek jak tekst i zostawia na dole zapas dla liter z ogonkiem na dole jak „y” czy „g”. Wystarczy dodać właściwość „vertical-align: middle” i wszystko będzie OK :)
Tagi: HTML5, vertical-align Brak komentarzy »
Dodany: 17 lipca, 2014 | Kategoria: Apache, PHP
Jak wyświetlić czcionkę gdy CSS i owy plik pobierane są z innej domeny (np. emulujemy sobie lokalnie chmurę bo takie środowisko czeka nas na serwerach klienta i jest inna zmyślona domena, mimo, że wciąż 127.0.0.1).
1 2 3 4 5
| <FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch> |
Tagi: apache, chmura, cloud, cross-domain, filesmatch, font, fonts, php Brak komentarzy »
Dodany: 12 maja, 2014 | Kategoria: Apache, PHP
Załóżmy, że mamy stronę: mojadomena.pl i vip.mojadomena.pl – ale na obu jest logowanie. Ciastka z mojadomena.pl będą wtedy przesłaniać te z vip.mojadomena.pl. W PHP można jednak problem obejść:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| // fix subdomain cookies
// based on from http://stackoverflow.com/a/9678857/1823945
// little changes by gnysek.pl
function skip_top_level_cookies()
{
if (!empty($_SERVER['HTTP_COOKIE'])) {
$domains_counter = array();
foreach (explode(';', $_SERVER['HTTP_COOKIE']) as $cookie_variable_string) {
$key_value = explode('=', $cookie_variable_string);
$cookie_var_name = trim($key_value[0]);
if (!array_key_exists($cookie_var_name, $domains_counter)) {
$domains_counter[$cookie_var_name] = 1;
}
$http_cookie_variables[$cookie_var_name][$domains_counter[$cookie_var_name]] = (!empty($key_value[1])) ? urldecode(trim($key_value[1])) : '';
$domains_counter[$cookie_var_name]++;
}
$levelDomain = substr_count($_SERVER['HTTP_HOST'], '.');
$newCookies = array();
foreach ($http_cookie_variables as $cookieName => $cookie) {
if (array_key_exists($levelDomain, $cookie)) {
$newCookies[$cookieName] = $cookie[$levelDomain];
} else {
$newCookies[$cookieName] = $cookie[1];
}
}
$_COOKIE = $newCookies;
}
return true;
}
if (substr_count($_SERVER['HTTP_HOST'], '.') > 1) {
skip_top_level_cookies();
} |
Tagi: cookie, order, priority, subdomain cookie, top-domain cookie Brak komentarzy »
Dodany: 9 października, 2013 | Kategoria: Game Maker
Lista nowych funkcji w GM:Studio które pojawiły się między wersjami 1.1.867 a 1.2.1149.
Przeczytaj dalszą część wpisu »
Brak komentarzy »
Dodany: 30 kwietnia, 2013 | Kategoria: JavaScript
W iPadzie ze względu na brak myszki jest problem ze stanem hover. Apple obeszło nieco problem i naciśnięcie na element a, który posiada styl a:hover powoduje użycie tej klasy, jednak problemem robi się, gdy jest to inny element. W moim przypadku była to lista.
Na podstawie informacji wygrzebanych w sieci, znalazłem dwa rozwiązania:
1) dodać
na elemencie który ma mieć hover
2) jeśli są jakieś sub-elementy to dodać na nich
aby się pokazywały
Tagi: apple, display, div, event, hover, ipad, li, onclick, state Brak komentarzy »
Dodany: 8 kwietnia, 2013 | Kategoria: PHP
Potrzebowałem zaimportować plik CSV do bazy danych. Niby proste zadanie, odpaliłem PhpMyAdmina, mieliło mi plik kilka minut, po czym wysypało się na timeoucie po 5 minutach i wstawieniu 3 tys. rekordów – na 12639 dostępnych. To stanowczo za długo. Poszperałem więc po sieci, jak zwykle pomocny okazał się stackoverflow i dzięki temu dostałem takie oto zapytanie, do odpalenia w mysql z terminala (lub cmd):
LOAD DATA LOCAL INFILE "plik.csv"
INTO TABLE twoja_tabela
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
Załadowało się w ułamku sekundy.
Terminal to jednak terminal :)
1 Komentarz »
Dodany: 4 lutego, 2013 | Kategoria: Inne
Jeśli korzystacie z pakietu „Github for Windows”, na pewno mieliście okazję skorzystać z konsolowego gita który odpala się w PowerShell. Ponieważ bez sensu jest doinstalowyawć sobie msygit podczas gdy ten pakiet go już dostarcza, warto sobie skonfigurować powershella tak, żeby git działał nie tylko spod Githubowej aplikacji.
W katalogu <C>:\Users\<user>\Documents\WindowsPowerShell (możliwe, że trzeba go stworzyć), tworzymy nowy skrypt: Microsoft.PowerShell_profile.ps1 i wklejamy:
1 2 3
| . (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
. $env:github_posh_git\profile.example.ps1 |
I to tyle :) Odpalamy PowerShell i git już działa.
P.S. Gdyby PowerShell wywalał błąd, że nie można odpalać skryptów, uruchamiamy w nim jednorazowo polecenie:
1
| Set-ExecutionPolicy RemoteSigned |
Warto odpalić program jako admin, inaczej klucz w rejestrze może się nie zaktualizować.
Tagi: git, powershell, windows Brak komentarzy »
Dodany: 21 stycznia, 2013 | Kategoria: PHP
Miałem jakiś czas temu problem z phpMyAdminem pod chrome, po zaistalowaniu WAMPPa, wyświetlał się komunikat:
Zablokowane przez politykę bezpieczeństwa treści
Ta strona posiada politykę bezpieczeństwa treści, która nie pozwala na osadzenie jej w taki sposób.
Rozwiązaniem jest edycja
\libraries\header_http.inc.php
i usunięcie/zakomentowanie linijki zawierającej ustawianie nagłówka:
"X-Content-Security-Policy"
Tagi: bezpieczeństwa, content, mysql, php, phpmyadmin, policy, polityka, security, treści Brak komentarzy »
Dodany: 18 stycznia, 2013 | Kategoria: Inne
Potrzebowałem zapytania SQL, które pogrupuje mi domeny adresów e-mail w bazie danych w celu znalezienia i usunięcia botów które się zalęgły zanim zacząłem stosować captchę. Na stackoverflow znalazłem:
SELECT
SUBSTR(user_email FROM LOCATE('@', user_email) + 1),
COUNT(*)
FROM
users
GROUP BY
SUBSTR(user_email FROM LOCATE('@', user_email) + 1)
ORDER BY
COUNT(*) DESC
Tagi: bot, domain, email, group, locate, mysql, select, sql, substr Brak komentarzy »