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;
    }

    即可。

  • 相关阅读:
    微信Jssdk 认证签名
    枚举的变换
    mysql 事务
    Java中的堆和栈
    mysql-索引
    mysql-事务隔离 为什么你改了我还看不见
    mysql 一次更新语句是如何执行的
    mysql-一条sql的执行过程
    随笔
    设计模式之装饰者
  • 原文地址:https://www.cnblogs.com/youxin/p/3242855.html
Copyright © 2011-2022 走看看