Исходный код (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, но ошибка сохраняется.
Спасибо.
Нет 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"