Drupal 文件字段显示我以前上载的文件为0字节
这里有点奇怪。我最近开始在一个我最初没有建立的网站上进行维护。Drupal站点有一组带有音频文件字段的节点,以及播放这些节点的jQuery播放器。在很多节点上,播放器都不会加载,我意识到这是因为当我编辑节点时,文件被报告为0字节。我不知道这是为什么。起初我认为这可能是一个文件权限的问题,但我不认为是这样,因为权限对我来说很好。为了修复它,我所要做的就是重新上传文件。问题是有数百个这样的文件,如果可能的话,我想通过进行一次更新来修复它。我们遇到了同样的问题:数据库中有很多0字节的文件。 我们所做的是这样的:Drupal 文件字段显示我以前上载的文件为0字节,drupal,drupal-7,drupal-files,Drupal,Drupal 7,Drupal Files,这里有点奇怪。我最近开始在一个我最初没有建立的网站上进行维护。Drupal站点有一组带有音频文件字段的节点,以及播放这些节点的jQuery播放器。在很多节点上,播放器都不会加载,我意识到这是因为当我编辑节点时,文件被报告为0字节。我不知道这是为什么。起初我认为这可能是一个文件权限的问题,但我不认为是这样,因为权限对我来说很好。为了修复它,我所要做的就是重新上传文件。问题是有数百个这样的文件,如果可能的话,我想通过进行一次更新来修复它。我们遇到了同样的问题:数据库中有很多0字节的文件。 我们所做的
function update_my_filesizes() {
$fileIDs = db_query('SELECT fid FROM {file_managed) WHERE filesize = 0')->fetchCol();
foreach(file_load_multiple($fids) as $file) {
// determine size of file
$filesize = SIZE_OF_THE_FILE; (pseudocode, we had to use filesize())
$file->filesize = $filesize;
if($file->filesize > 0) {
file_save($file);
} else {
echo "Filesize for file <filename here> is still 0 :(";
}
}
}
函数更新\u我的文件大小(){
$fileIDs=db_query('SELECT fid FROM{file_managed),其中filesize=0')->fetchCol();
foreach(文件\u加载\u多个($FID)作为$file){
//确定文件的大小
$filesize=SIZE\u文件的大小;(伪代码,我们必须使用filesize())
$file->filesize=$filesize;
如果($file->filesize>0){
文件保存($file);
}否则{
echo“文件的文件大小仍然为0:(”;
}
}
}
我们遇到了同样的问题:数据库中有很多0字节的文件。
我们所做的是这样的:
function update_my_filesizes() {
$fileIDs = db_query('SELECT fid FROM {file_managed) WHERE filesize = 0')->fetchCol();
foreach(file_load_multiple($fids) as $file) {
// determine size of file
$filesize = SIZE_OF_THE_FILE; (pseudocode, we had to use filesize())
$file->filesize = $filesize;
if($file->filesize > 0) {
file_save($file);
} else {
echo "Filesize for file <filename here> is still 0 :(";
}
}
}
函数更新\u我的文件大小(){
$fileIDs=db_query('SELECT fid FROM{file_managed),其中filesize=0')->fetchCol();
foreach(文件\u加载\u多个($FID)作为$file){
//确定文件的大小
$filesize=SIZE\u文件的大小;(伪代码,我们必须使用filesize())
$file->filesize=$filesize;
如果($file->filesize>0){
文件保存($file);
}否则{
echo“文件的文件大小仍然为0:(”;
}
}
}
这是Terry针对Drupal 7的伪代码的工作版本
$fids = db_query('SELECT fid FROM {file_managed} WHERE filesize = 0')->fetchCol();
foreach(file_load_multiple($fids) as $file) {
// Get full path to file.
$target = drupal_realpath($file->uri);
// If the file does not exist try the next file.
if (!file_exists($target)) {
echo "File $file->uri does not exist." .PHP_EOL;
continue;
}
// Find and store size of file
$file->filesize = filesize($target);
// Size of file is
if ($file->filesize > 0) {
file_save($file);
}
else {
echo "Size of $file->uri is still zero." . PHP_EOL;
}
}
使用drush运行它:
drush php-script fix-file-sizes.php
这是Terry针对Drupal 7的伪代码的工作版本
$fids = db_query('SELECT fid FROM {file_managed} WHERE filesize = 0')->fetchCol();
foreach(file_load_multiple($fids) as $file) {
// Get full path to file.
$target = drupal_realpath($file->uri);
// If the file does not exist try the next file.
if (!file_exists($target)) {
echo "File $file->uri does not exist." .PHP_EOL;
continue;
}
// Find and store size of file
$file->filesize = filesize($target);
// Size of file is
if ($file->filesize > 0) {
file_save($file);
}
else {
echo "Size of $file->uri is still zero." . PHP_EOL;
}
}
使用drush运行它:
drush php-script fix-file-sizes.php
如果您查看
文件管理的表中的条目,是否报告了正确的文件大小?我想知道该表是否已损坏。不,该表中的文件也是0字节。另一件奇怪的事情是,这些0字节文件中的一些文件将实际播放..而另一些文件则不会。我看不到文件之间的区别..只是一些文件播放和有些则不是。非常奇怪。编辑文件时,文件大小是否更改为“0”,或者“正确”的文件大小是否保持不变?可能是他们首次上载文件时出错了:(如果您查看文件\u managed
表中的条目,是否报告了正确的文件大小?我想知道该表是否已损坏。不,该表中的文件也是0字节。另一件奇怪的事情是,这些0字节文件中的一些文件将实际播放..而另一些文件则不会。我看不到文件之间的区别..只是一些文件播放和其他文件有些则不是。非常奇怪。编辑文件时,文件大小是否更改为“0”,或者“正确”的文件大小是否保持不变?可能是他们首次上载文件时出错了:(