Nienawidzę tego, że Google nie może wyszukiwać symboli. Widziałem to w jakiś przykładowy kod i zastanawiał się, dlaczego tam jest znak @ przed funkcji readfile:@readfile w php?
@readfile($filename);
Co to znaczy różnią się bez symbolu @?
Nienawidzę tego, że Google nie może wyszukiwać symboli. Widziałem to w jakiś przykładowy kod i zastanawiał się, dlaczego tam jest znak @ przed funkcji readfile:@readfile w php?
@readfile($filename);
Co to znaczy różnią się bez symbolu @?
Przed poleceniem w PHP oznacza, że nie są drukowane żadne błędy. Nazywa się to error control operator.
Jeśli usunięto @
i readfile
napotka błąd (na przykład nie jest w stanie odczytać pliku), a następnie, w zależności od ustawień PHP-komunikat o błędzie będzie pośród treści witryny; coś, czego rzadko, jeśli w ogóle, chcesz. (Jest nawet gorzej, jeśli dzieje się to przed wywołaniem header()
lub start_session()
bo raz zawartość jest wysyłany, nagłówki mogą nie być już napisany.)
It is PHP's error suppression operator. Dzięki niemu można wyeliminować komunikaty o błędach.
Wskazówka:
prostu nie użyć operatora tłumienia błędu z prędkością krytyczne kodu.
Future:
Ponieważ @
operator jest bardzo powolny, to nie będzie działać na ini_set
np @ini_set
w przyszłych wersjach PHP np PHP6
Ważne Reading:
@ oznacza "nie wyświetlaj błędów/ostrzeżeń"
To jest error control operator. Instrukcja powie Ci wszystko ...
Mam na myśli @ jako "operatora stfu".
Jako kolejny dowód, gdy następnym razem natkniesz się na symbol, spróbuj go przeliterować, np. "Na znak", możesz znaleźć więcej wyników. –
Ponadto PHP ma całkiem dobrą pomoc online. W przeważającej części możesz po prostu zrobić 'http://php.net/ [coś]' i dostać się na właściwą stronę. I tak, w tym przypadku "[coś]" może w rzeczywistości być '@': http://php.net/@ – Joey
użyć tego podczas googling "@readfile()" – RSK