我将尝试使用thumb以编程方式将Video Embed添加到drupal-7中。这是我尝试过的:
$url='https://www.youtube.com/watch?v=8Zq3KCBed5Q';
$file_path = drupal_realpath($url);
$file->uid = 1;
$file->filename = 'dsdss';
$file->uri = $url;
$file->filemime = file_get_mimetype($file_path);
$file->type = 'video';
$file->status = 1;
$file_exists = file_save($file);
$node->field_videoyou[$node->language]['0'] = (array) $file_exists; 我怎么能做到这一点?
发布于 2015-10-20 15:56:07
据我所知,drupal_realpath正在将本地drupal路径转换为绝对路径,而您正在向其传递绝对路径。而且,您没有向我们展示在何处创建$file对象。那是什么?
如果您检查file_save()文档:https://api.drupal.org/api/drupal/includes!file.inc/function/file_save/7
...您将看到$file应该是“一个由file_load()返回的文件对象”。
所以,我认为您使用drupal_realpath是错误的,没有看到您正在使用file_load()来创建$file对象,我也没有看到您正在将文件复制到您的服务器。
我的建议是,无论如何都不要弄乱文件,而是把播放器嵌入的代码拿出来使用。你可以有一些文本字段到你的内容类型,管理员可以在其中插入视频嵌入代码,并只需在前端拍摄出该值。对于不同视频,Moreever...it可能会发生嵌入代码非常相似的情况,唯一的区别是只有一些视频ID值,因此您甚至不必存储整个嵌入代码,而只需存储视频id,您可以将其余的嵌入代码保留在某个模板文件中,作为静态,您只需在模板文件中插入视频id。
https://stackoverflow.com/questions/33212974
复制相似问题