获取由file_put_contents()生成的文件的url;

时间:2019-04-25 11:49:24

标签: php laravel file

我正在尝试获取由file_put_contents()函数保存的文件的url。

下面是我尝试得到的资源输出。如何从资源中获取数据。

$file = file_put_contents($name, $image);

$link = fopen($name, 'r', TRUE);
dd($link);

资源

stream resource @418 ▼
  timed_out: false
  blocked: true
  eof: false
  wrapper_type: "plainfile"
  stream_type: "STDIO"
  mode: "r"
  unread_bytes: 0
  seekable: true
  uri: "C:\xampp\htdocs\fedex\public\labels\1556192611.png"
  options: []
}

2 个答案:

答案 0 :(得分:1)

您可以这样做

$fp = fopen($name, "r"); // file pointer
if ($fp){
    while (!feof($fp)){ // feof — Tests for end-of-file on a file pointer
        $line = fgets($fp); // fgets — Gets line from file pointer
        if(strpos($line, 'uri:') !== false){ // checking matching of string
            $result[] = $line;
        } 
    }
    fclose($fp);
}
print_r($result);

为了便于阅读,我保留了嵌入式文档

答案 1 :(得分:0)

我建议您检查Storage类。 或者您可以将其保存在公共文件夹中,例如:

$file = file_put_contents(public_path().$name, $image);
$link = asset($name);