本地测试成功,上传服务器后,打开文件失败(fopen和file_exists)

1、在本地是可以运行的;
2、上传服务器后,fopen和file_exists都执行失败,文件地址我打印过,没有问题,特意把备用地址打开,还是失败

$filer = fopen($files, "r") or webalert('无法打开文件!');
if(!file_exists($wenjian)){
    $wenjian = "shujuku/精选优质商品清单-2018-06-06.dat"; //如有备用数据库,启动备用数据库
    echo "数据库 $wenjian 不存在,启用备用数据库\r\n";
}

3、看了下网上说是要把文件权限设置777,我试过了,但是还是没有反应。

======================================================================
谢谢各路老铁的解答,使用fopen和file_exists时候,我都转码过

function charaget($data){
  if(!empty($data) ){    
    $fileType = mb_detect_encoding($data , array('UTF-8','GBK','LATIN1','BIG5')) ;   
    if( $fileType != 'GB2312'){   
      $data = mb_convert_encoding($data ,'GB2312' , $fileType);   
    }   
  }   
  return $data;    
}

使用后,代码都可以打印出正确的路径,就是读不到文件,最后转换成UTF-8后,服务器上就正常了,不知道还有什么其他方法没。

慕标琳琳
浏览 367回答 5
5回答

桃花长相依

1、文件权限2、文件夹权限 都设置成777,应该就可以了

慕仙森

单纯的把单个文件设置成777是没用的,文件夹也需要设置权限

森栏

中文的话,最好转换一下文件名字符编码为gbkiconv函数了解一下

繁星淼淼

我觉得还有一种可能,就是你服务器上代码执行的路径和本地执行的不一样,所以你文件的相对路径如果还按照那么写的话,有可能不对
打开App,查看更多内容
随时随地看视频慕课网APP