歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

PHP在windows和LINUX下的路徑分隔符

  眾所周知,windows下的是\和/,而LINUX下的是/
  在程序本地運行很正常,上傳到服務器後,發現圖片沒有顯示出來,圖片鏈接是絕對路徑 var/...,而且當中帶有\但是我記得這個路徑已經處理成相對路徑的
  $path = dirname(dirname(dirname(__FILE__))).‘\\‘;$search = array( $path, ‘\\‘);$replace = array( ‘‘, ‘/‘);return str_replace($search,$replace,$this-tempfolder).$this-filename_prefix.$public.‘.jpg‘;
  可以各位也看出來了,第一行代碼的用在LINUX “\\”,就不行。
  解決的辦法是用PHP預定義常量DIRECTORY_SEPATRATOR來代替‘\‘,‘/‘這樣的路徑分隔符,以前覺得既然windows,LINUX都支持/,那都用成/得了,這是沒錯的。可是從這個例子可以看出,當要對路徑字符串進行處理的時候,就比較危險了,所以最好還是用DIRECTORY_SEPATRATOR吧。
Copyright © Linux教程網 All Rights Reserved