我正在尝试从URL下载图像。我想将其放入数据库中并保存路径。
我对用户上传但未从URL下载的图像执行此操作。
我的所有代码都在下面:
控制器( getSupportFragmentManager().getBackStackEntryCount();
getFragmentManager().getBackStackEntryCount();
是具有很多URL的数组):
if (initialNavigation || isClearTask) {
backStackEffect = BACK_STACK_DESTINATION_ADDED;
} else if (isSingleTopReplacement) {
// Single Top means we only want one instance on the back stack
if (mBackStack.size() > 1) {
// If the Fragment to be replaced is on the FragmentManager's
// back stack, a simple replace() isn't enough so we
// remove it from the back stack and put our replacement
// on the back stack in its place
mFragmentManager.popBackStack();
ft.addToBackStack(Integer.toString(destId));
mIsPendingBackStackOperation = true;
}
backStackEffect = BACK_STACK_UNCHANGED;
} else {
ft.addToBackStack(Integer.toString(destId));
mIsPendingBackStackOperation = true;
backStackEffect = BACK_STACK_DESTINATION_ADDED;
}
ft.setReorderingAllowed(true);
ft.commit();
image_directory是网络中的目录。
当我使用表单(我使用$array_photo
而不是
$file = file_get_contents($array_photos[0]);
if ($file != NULL) {
$fileName = md5(uniqid()) . '.' . $file->guessExtension();
$file->move(
$this->getParameter('image_directory'), $fileName
);
}
var_dump($array_photos[0]) -> string(23) "http://photos..."
可以,但出现此错误:
在字符串上调用成员函数guessExtension()
如果我将'.png'替换为guessExtension,则会出现此错误:
在字符串上调用成员函数move()
答案 0 :(得分:0)
文件确实是一个字符串:
$file = file_get_contents($array_photos[0]); // returns string of image data
您只需要使用file_put_contents()
:-)
http://php.net/manual/en/function.file-put-contents.php
file_put_contents($file, '/path/to/save');