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
Drupal 文件字段显示我以前上载的文件为0字节_Drupal_Drupal 7_Drupal Files - Fatal编程技术网

Drupal 文件字段显示我以前上载的文件为0字节

Drupal 文件字段显示我以前上载的文件为0字节,drupal,drupal-7,drupal-files,Drupal,Drupal 7,Drupal Files,这里有点奇怪。我最近开始在一个我最初没有建立的网站上进行维护。Drupal站点有一组带有音频文件字段的节点,以及播放这些节点的jQuery播放器。在很多节点上,播放器都不会加载,我意识到这是因为当我编辑节点时,文件被报告为0字节。我不知道这是为什么。起初我认为这可能是一个文件权限的问题,但我不认为是这样,因为权限对我来说很好。为了修复它,我所要做的就是重新上传文件。问题是有数百个这样的文件,如果可能的话,我想通过进行一次更新来修复它。我们遇到了同样的问题:数据库中有很多0字节的文件。 我们所做的

这里有点奇怪。我最近开始在一个我最初没有建立的网站上进行维护。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”,或者“正确”的文件大小是否保持不变?可能是他们首次上载文件时出错了:(