【问题标题】:Show download size php code-igniter显示下载大小 php code-igniter
【发布时间】:2016-12-06 21:37:13
【问题描述】:

我正在尝试在我的网站上放置下载图片的链接,并且我还想在链接附近显示下载大小。我正在使用

<?php
$filename = base_url().'carteles/as_cartel-8.jpg';
echo filesize($filename);
?>

但我得到一个 PHP 错误。我认为这是因为“base_url”不能在那里使用。但我不知道如何获取文件大小(在我的服务器内部)的 url 来管理它。

编辑:

错误是:

A PHP Error was encountered

Severity: Warning

Message: filesize(): stat failed for http://localhost/TCE/Festivales/carteles/as_cartel-8.jpg

Filename: views/categorias_v.php

Line Number: 32

Backtrace:

File: C:\xampp\htdocs\TCE\Festivales\application\views\categorias_v.php
Line: 32
Function: filesize

File: C:\xampp\htdocs\TCE\Festivales\application\views\template\template.php
Line: 5
Function: view

File: C:\xampp\htdocs\TCE\Festivales\application\controllers\categorias_c.php
Line: 22
Function: view

File: C:\xampp\htdocs\TCE\Festivales\index.php
Line: 315
Function: require_once

我确实配置了自动加载,我的意思是,当我尝试做其他事情时,base_url 工作正常,我的问题是当我尝试使用“filesize”时。

【问题讨论】:

  • 如果它在你的服务器中,为什么你需要它与 http?
  • 你遇到了什么 php 错误?

标签: php codeigniter


【解决方案1】:

为了使用 base_url(),您必须首先加载 URL Helper。这可以在 application/config/autoload.php 中完成

$autoload['helper'] = array('url');

要调试它,你应该先看看 baseurl 返回什么。然后确保完整链接正确访问图像

echo base_url();

祝你好运

【讨论】:

    【解决方案2】:

    我认为问题是由于您试图打开链接,而不是文件本身。尝试使用 CodeIgniter 的File Helper 来获取文件大小。助手有一个函数,get_file_info(),可以帮助你。

    如果您在控制器中执行此操作,它看起来像:

    $this->load->helper('file');
    $file = APPPATH . 'carteles/as_cartel-8.jpg';
    $fileinfo = get_file_info($file);
    $data['filesize'] = $fileinfo['size'];
    

    但是,如果您想在视图中加载文件帮助程序,则必须以不同的方式加载帮助程序。以下是一些相关信息:CodeIgniter helper in the view。希望这对您的事业有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 1970-01-01
      • 2011-01-31
      相关资源
      最近更新 更多