PHP file_exists и unlink не работают

Исходный код (Código):

$path = "F:/www/__DADOS__/__SESSAO/__9987f2bfdfb80bce8fd72402887bb2c50a433ae0__E6nDSMnD7TCY5#47$BNCx0e#47$r#47$ByZJvcyMIazXSYWBWBXN5lgdZOd3Ps#47$ROrVSPl7QVQaCqfa2WezCauk#47$LVFyhgw==.meudominio.com.sessid" file_put_contents($path, $texto); unlink($path); 

В приведенном выше коде я получаю предупреждение No such file or directory в unlink($ path); и файл не удаляется, я также попытался использовать file_exists для проверки файла раньше, а return: false .

file_put_contents создает файл правильно ( file_put_contents ), даже с правильным контентом. Я могу получить доступ к файлу через file_get_contents , но со временем удалить или проверить, что возникновение происходит с ошибкой. Кто-нибудь знает?

Общий размер $path равен 241 .

Проблема кажется более деликатной. Имя файла формируется base64_encode , имя файла изменяется часто, и у меня около 10 файлов на выполнение. Я могу удалить некоторые, другие – не выдавать предупреждение, описанное выше. Может ли это быть любой символ, который не должен отменить связь () не принимает? У меня есть некоторые зарезервированные символы, такие как / \?% *: | "<> . Http://en.wikipedia.org/wiki/Filename

Я попытался использовать hash (sha1, sha256 и sha512) вместо base64_encode, но ошибка сохраняется.

Спасибо.


ОРИГИНАЛЬНЫЙ ЯЗЫК: PT-BR :

Нет código acima obtenho o alerta No such file or directory em unlink($path); eo arquivo não é excluído, eu também tentei usar file_exists para verificar a existência do arquivo antes, eo retorno é: false .

O file_put_contents cria o arquivo corretamente (verificado), включительно com o conteúdo correto. Eu também consigo acessar o arquivo através de file_get_contents , mas na hora de excluir ou verificar a existência obtenho insucesso. Alguém tem uma dica?

O tamanho total de $path é 241 .

O проблемаa parecer mais delicado. Pois o nome do arquivo é formado por um base64_encode , o nome do arquivo muda oftenemente, e eu tenho cerca de 10 arquivos por execução. Альгуны deles consigo deletar, outros não, emitindo o alerta descrito acima. Поделитесь с друзьями и коллегами, и вы не авторизовались () não aceita? Eu já escapo alguns caracteres reservados, como / \?% *: | "<> . Http://en.wikipedia.org/wiki/Filename

Eu tentei usar hash (sha1, sha256 e sha512) no lugar de base64_encode, mas o erro persiste.

Obrigado.

Поскольку вы используете / внутри " " так / char не является обычным символом, и обычно он используется для выхода из специальных символов ( используется внутри двойных кавычек ), но если вы хотите игнорировать любое / внутри вашего определения значения строки просто используйте // поэтому первая косая черта сбрасывается во второй, и PHP будет рассматривать их как одну косую черту, но не забудьте также избежать знака доллара ( $ ) и всех специальных символов или изменить свои цитаты с " на ' , 't нужно что-то изменить внутри вашего строкового значения:

 <?php $path = 'F:/www/__DADOS__/__SESSAO/__9987f2bfdfb80bce8fd72402887bb2c50a433ae0__E6nDSMnD7TCY5#47$BNCx0e#47$r#47$ByZJvcyMIazXSYWBWBXN5lgdZOd3Ps#47$ROrVSPl7QVQaCqfa2WezCauk#47$LVFyhgw==.meudominio.com.sessid'; //OR $path = "F://www//__DADOS__//__SESSAO//__9987f2bfdfb80bce8fd72402887bb2c50a433ae0__E6nDSMnD7TCY5#47/$BNCx0e#47/$r#47/$ByZJvcyMIazXSYWBWBXN5lgdZOd3Ps#47/$ROrVSPl7QVQaCqfa2WezCauk#47/$LVFyhgw==.meudominio.com.sessid"; echo file_exists($path);//will return 1 //unlink($path); ?> 

пытаться

 $path ="F:/www/__DADOS__/__SESSAO/__9987f2bfdfb80bce8fd72402887bb2c50a433ae0__E6nDSMnD7TCY5#47$BNCx0e#47$r#47$ByZJvcyMIazXSYWBWBXN5lgdZOd3Ps#47$ROrVSPl7QVQaCqfa2WezCauk#47$LVFyhgw==.meudominio.com.sessid"