zoukankan      html  css  js  c++  java
  • windows无效字符名导致的错误及解决办法

    今天用file_put_content($fileName,$data)产生错误:内容如下:

    Warning: file_put_contents(images/7d5636992a7395f91744747ffa0ecf0b.gif?b=bgif): failed to open stream: No error in F:xampphtdocsphpwebCrawlcrawl.php

    images下如果没有这个文件则会创建,存在则覆盖,为什么failed.这是因为文件名7d5636992a7395f91744747ffa0ecf0b.gif?b=bgif

    包含了windows文件名无效字符。

    无效字符有:

      / : * ? " < > |

    写一个函数,替换无效字符;

    function replaceBadChar($fileName)
    {
        // 去掉文件名中的无效字符,如  / : * ? " < > | 
        $fileName=str_replace('\','_',$fileName);
        $fileName=str_replace('/','_',$fileName);
        $fileName=str_replace(':','_',$fileName);
        $fileName=str_replace("*",'_',$fileName);
        $fileName=str_replace("?",'_',$fileName);
        $fileName=str_replace('"','_',$fileName);
        $fileName=str_replace('<','_',$fileName);
        $fileName=str_replace('>','_',$fileName);
        $fileName=str_replace('|','_',$fileName);
        return $fileName;
    }

    即可。

  • 相关阅读:
    CSS+JS实现兼容性很好的无限级下拉菜单
    自动切换的JS菜单
    (2)C#连sqlite
    protobuf编译器
    (67) c# 序列化
    (66) c# async await
    (65)C# 任务
    mbatis 入门
    (64)C# 预处理器指令
    (63)C# 不安全代码unsafe
  • 原文地址:https://www.cnblogs.com/youxin/p/3242855.html
Copyright © 2011-2022 走看看