1

codeigniter でダウンロード リンクを作成する際に問題があります。私の問題は、ファイル名のローカルパスを持っていることです:

C:\wamp\www\elance\zip2\uploads/13487727859183.zip

ダウンロードリンクを作成するには、次のようなものが必要ですhttp://localhost/elance/zip2/uploads/13487727859183.zip

私は混乱していて、それを行う方法がわかりません。

4

3 に答える 3

0

に変換C:\wamp\www\elance\zip2\uploads/13487727859183.zipしたいhttp://localhost/elance/zip2/uploads/13487727859183.zip場合は、単にstr_replaceを使用できます

$str = "C:\wamp\www\elance\zip2\uploads/13487727859183.zip";
$str = str_replace("C:\wamp\www\","http://localhost/", $str);
$str = str_replace('\\', '/', $str);
于 2012-09-27T20:53:20.133 に答える
0

テストしなくても、これでうまくいくはずです。関数はヘルパーに配置する必要があります

function create_download_link($file, $base_url, $location = "C:\wamp\www\") {

    $link = "<a href='" . str_replace("\\", "/", str_replace($location, $base_url, $file)) . "'>Download File</a>";

    return $link;

}

//example call
create_download_link("C:\wamp\www\elance\zip2\uploads/13487727859183.zip", base_url(), "C:\wamp\www\");
于 2012-09-27T21:26:04.287 に答える
0

私は今日同じ問題を抱えていたので、あなたの問題を理解していると思います。

以下は私の1行の解決策です。これは、私が正しく理解していることを確認するための説明です。

ファイルと、そのファイル名のローカル パスがあり、データベース テーブルなどに保存されている可能性があります...正しいですか?

例えば。C:\wamp\www\myApp\path\to\file.zip

アプリケーションがリンクを吐き出し、ウェブページを見ている人がそのリンクをクリックしてファイルをダウンロードできるようにしたいですか?

アプリは次の場所にあります: C:\wamp\www\myApp\index.php

以下の動的ソリューションは、ファイルがアプリケーションのルート ディレクトリのサブディレクトリに保存されている場合にのみ機能し、CodeIgniter の事前定義された定数と URL ヘルパーを利用するため簡単です。

// FCPATH -> where the index.php file lives
// $my_file  -> your file
$file_url = str_replace(FCPATH, base_url(), $my_file);

それでおしまい。

ファイル パスの「FCPATH」部分を「base_url()」出力に置き換えるだけで、準備完了です。

ファイルがアプリ フォルダーのサブフォルダーではないフォルダーにある場合は、FCPATH および base_url() ビットをハードコーディングする必要があります...

それが役立つことを願っています! ピート

于 2012-11-13T16:09:12.613 に答える