phpcms v9多文件上傳字段獲取文件url路徑地址的方法

phpcms v9多文件上傳字段獲取文件url路徑地址的方法

如題 , phpcms v9裏多文件上傳字段, 獲取的數據爲一串字符, 數組字符格式.  如何才能取得多文件上傳的文件地址?

 

論壇有幾種解決方法:

 

1. 使用php的eval函數將字符轉爲數組, 並賦值.  當然因爲這串字符有換行, 而phpcms裏的php標籤, 也就是{php ..... } 不允許換行,只能一行一句,  所以需要先將這串字符取出換行符. 挺繁瑣的.  不建議使用這個方法.

  --------------------------------

 {pc:get sql="select * FROM v9_py_data "  num="8" cache="3600" return="data"} 
  {loop $data $r}
  
  {php eval("\$arr=" . $r[upload] . ";");echo $arr[0]['fileurl'];}
  {/loop}
          {/pc}

---------------------------------

 

2. 方法二是正則匹配出url地址. 感覺沒必要, 其實我們只需要拿到這個數組就行了, 問題是現在他是這個數組的字符形式. 相當扯淡.  不建議使用此方法

 

 

3. 正解: phpcms有個方法:string2array  . 用來將數組字符串處理並返回爲數組. 所以這個方法纔是正解

方法如下:

$a = string2array($b); 

多文件上傳字段 , 比如爲 allfiles  ,那麼一般循環出來就是  $r[allfiles].  要獲取地址 那就是 

$allfiles = string2array( $r[allfiles]); 

然後循環(loop)  $allfiles   逐個取出其文件地址.  當然如果只限製爲一個文件上傳那麼直接就 $allfiles[0][fileurl]就行了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章