Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal6:我需要自定义节点编辑表单中的文件上传链接_Drupal_Cck - Fatal编程技术网

Drupal6:我需要自定义节点编辑表单中的文件上传链接

Drupal6:我需要自定义节点编辑表单中的文件上传链接,drupal,cck,Drupal,Cck,我正在使用form_alter自定义内容类型的节点/添加和节点/编辑表单。在我的内容类型中,有一个允许将文件上载到内容的文件字段。 我想做的是通过更改运行时使用Ajax编写的文件的链接来定制文件框。如何在不修改Drupal core的情况下执行此操作?尝试文件字段路径: FileField Paths模块通过添加在目标路径和文件名中使用节点令牌的功能,扩展了Drupals核心上传模块、FileField模块和许多其他文件上传模块的默认功能 尝试文件字段路径: FileField Paths模块通

我正在使用form_alter自定义内容类型的节点/添加和节点/编辑表单。在我的内容类型中,有一个允许将文件上载到内容的文件字段。
我想做的是通过更改运行时使用Ajax编写的文件的链接来定制文件框。如何在不修改Drupal core的情况下执行此操作?

尝试文件字段路径:

FileField Paths模块通过添加在目标路径和文件名中使用节点令牌的功能,扩展了Drupals核心上传模块、FileField模块和许多其他文件上传模块的默认功能

尝试文件字段路径:

FileField Paths模块通过添加在目标路径和文件名中使用节点令牌的功能,扩展了Drupals核心上传模块、FileField模块和许多其他文件上传模块的默认功能


您的私有文件目录不应位于docroot中。正如您在评论中指出的那样,用.htaccess规则隐藏它是行不通的

假设您在
/var/www/sites/example.com/
中有Drupal,那么您不应该将您的私有文件存储在该目录下
/var/www/sites/example.com/sites/default/private/files/
完全是错误的

相反,您应该将文件存储在apache不提供服务但可以读取的位置。例如,在
/var/www/files/example.com/
中。然后更改Drupal中的设置以使用该绝对路径


如果您运行的是大型(r)站点,您可能希望将文件存储在专用挂载(驱动器、NFS等)上,例如
/media/NFS example com/

您的私有文件目录不应位于docroot中。正如您在评论中指出的那样,用.htaccess规则隐藏它是行不通的

假设您在
/var/www/sites/example.com/
中有Drupal,那么您不应该将您的私有文件存储在该目录下
/var/www/sites/example.com/sites/default/private/files/
完全是错误的

相反,您应该将文件存储在apache不提供服务但可以读取的位置。例如,在
/var/www/files/example.com/
中。然后更改Drupal中的设置以使用该绝对路径


如果您运行的是大型(r)站点,您可能希望将文件存储在专用挂载(驱动器、NFS等)上,例如
/media/NFS example com/

你的意思是你想允许文件上传或现有文件的链接/url?不,我想更改上传文件的url(从到文件需要在服务器上有一个物理位置——您是否希望文件正常上传,但可以通过新链接访问?我想一个更广泛的问题是:您想要的最终结果是什么?my_function在做什么?我想我可以建议一些更直接的方法来实现这一点,而无需黑客正在删除节点表单。您是否试图混淆在节点/添加节点/编辑表单中创建的链接?某些原因可能会有所帮助,因为可能有其他解决方案可供您使用。确切地说,我需要将链接从sites/default/files/private/name.jpg更改为其他url,因为由于htaccess directi,private directory将无法作为url使用Ve您的意思是要允许文件上载或现有文件的链接/url?不,我要更改上载文件的url(从到文件需要在服务器上有一个物理位置——您是否希望文件正常上传,但可以通过新链接访问?我想一个更广泛的问题是:您想要的最终结果是什么?my_function在做什么?我想我可以建议一些更直接的方法来实现这一点,而无需黑客正在删除节点表单。您是否试图混淆在节点/添加节点/编辑表单中创建的链接?某些原因可能会有所帮助,因为可能有其他解决方案可供您使用。确切地说,我需要将链接从sites/default/files/private/name.jpg更改为其他url,因为由于htaccess directi,private directory将无法作为url使用veI尝试过,但找不到解决问题的方法;我将尝试解释一下:在我的内容类型中,我有一个文件字段,可以将文件上载到sites/default/files/private。private目录受.htaccess保护,当用户从浏览器中放置直接链接时,可以拒绝访问。我在函数my_function i中创建了一个类似index.php?q=my_function/file.jpg;的url检查用户,如果获得授权,允许下载文件。问题是,当我上传文件时,Drupal将链接放在http://...../sites/default/files/private/file.jpg 由于htaccess指令,该命令无法运行。我需要更改ITAHH,您的意思是通过排除该命令来保护自己不受外部热链接到文件的影响吗如果是这样的话,阻止热链接的一个更好的方法可能是通过这样的重写指令:RewriteCond%{HTTP|u REFERER}!^HTTP(s)?:/(www\)?yourdomain.com[NC]RewriteRule\(jpg | jpeg | png | gif)$-[NC,F,L]我试过了,但找不到解决问题的方法;我会尝试解释一下:在我的内容类型中,我有一个文件字段,可以将文件上载到sites/default/files/private。private目录受.htaccess保护,当用户从浏览器放置直接链接时,可以拒绝访问。我在函数my_function I c中创建了一个类似index.php?q=my_function/file.jpg;的url检查用户,如果获得授权,允许下载文件。问题是,当我上传文件时,Drupal将链接放在http://...../sites/default/files/private/file.jpg 由于htaccess指令,该命令无法运行。我需要更改ITAHH,您是否打算通过排除该目录来保护自己不受外部热链接到文件的影响在.htaccess中?如果是这样的话,阻止热链接的更好方法可能是通过一个重写指令,如:RewriteCond%{HTTP|u REFERER}!^HTTP(s)?:/(www\)?yourdomain.com[NC]RewriteRule\(jpg | jpeg | png | gif)$-[NC,F,L]供将来参考:这个