【问题标题】:How to trim uploaded file name's length to 10 chars when using Drupal CCK file fields?使用 Drupal CCK 文件字段时如何将上传的文件名长度修剪为 10 个字符?
【发布时间】:2010-09-22 10:52:33
【问题描述】:

我上传了 1 个文件并将其命名为“test-test-test-test-test.php”。 它在我的布局中产生了问题。 我的布局一团糟。 所以如果我上传文件名最多 10 个字符,那么它就可以了。

【问题讨论】:

  • 尽量保持标题简洁明了。另外,drupal 在这里是不必要的标签。
  • 正如 dayana 对一些答案的解释,[drupal] 确实很有帮助。
  • 是的,它不是核心 PHP,因为我使用了 drupal 和 CCK 文件字段,它不可能使用“substr”函数。

标签: php drupal file-upload cck


【解决方案1】:

上传前重命名。

在 PHP 中:

<?php
$filename = 'test-test-test-test-test.php';
rename($filename, substr($filename, 0, 10) . '.php'));
?>

【讨论】:

  • 它在 drupal 中的 CCK 文件字段。我不能这样做。bcoz 当我点击节点视图时它必须是全视图但在主页上只显示它的修剪。
  • 那么第二个选项就是你的了。正如我所写的那样修剪文件名。注意:您需要注意路径。
【解决方案2】:

单线解决方案

<?
$filename="test.php";
$filename=str_pad(trim($filename), 10, "123456789", STR_PAD_LEFT);
echo $filename;
//12test.php
$filename="test.php";
$filename=str_pad(trim($filename), 14, "123456789", STR_PAD_LEFT);
echo $filename;
//123456test.php
?>

【讨论】:

    【解决方案3】:
    $filename = 'testtesttesttesttesttest.php'; 
    $filename = basename($path, ".php");
    $filename = substr($filename, 0, 10);
    $filename .= '.php';
    

    【讨论】:

    • 它在 drupal 中的 CCK 文件字段。我不能这样做。bcoz 当我点击节点视图时它必须是全视图但在主页上只显示它的修剪。
    【解决方案4】:

    我找到了解决方案。 它使用 jquery。

    jQuery("div.files .view-content .views-field-field-file-file-fid  .filefield-file a")
      .each(function(){
        var file_text =  jQuery(this).text();
        if(file_text.length > 10){
            file_sub_text = file_text.substring(0,10);
            jQuery(this).text(file_sub_text+ "...");
        }
      });
    

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-18
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多