You don't need to escape the ``@`` as you are not using it as separator anymore, and it would have been the wrong way to do it anyway: in your code, preg_quote would escape your backslash so the ``@`` would not be escaped anymore.
the right way to escape the separators is to use the second argument: ``preg_quote($path, '@')``