大家好:)我如何从URL上传文件? (我读到很多有关此的问题,但没有用……),这是我的代码:
$url = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';
$file = file_get_contents($url);
if ($file != NULL) {
$fileName = md5(uniqid()) . '.' . $file->guessExtension();
$file->move(
$this->getParameter('image_directory'), $fileName
);
}
这里我只想从url下载图像并将其移动到目录(我将在之后将路径保存在数据库中),但是使用此代码,我会遇到此错误:
在字符串上调用成员函数guessExtension()
答案 0 :(得分:1)
file_get_contents
用于读取文件的内容(txt,xml等)。
相反,您应该使用linux命令wget
。您可以使用PHP函数exec
来运行它。
$url = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';
//Execute wget
$file=exec("wget http://www.example.com/file.xml");
if ($file != NULL) {
$fileName=md5(uniqid()).'.'.$file->guessExtension();
$file->move($this->getParameter('image_directory'), $fileName);
}
答案 1 :(得分:0)
此简单代码将下载图像并将其保存到文件中
<?php
$url = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';
$file = file_get_contents($url);
if ($file != NULL) {
$pathToFolder = 'images/png/'; // just an example folder location
$fileName = $pathToFolder . md5(uniqid()) . 'png';
file_put_contents($fileName,$file);
} else {
echo 'File downlaod error';
}