ホームページ > バックエンド開発 > PHPチュートリアル > ThinkPHP3.0 サムネイルをサブディレクトリに保存できない 解決策の概要_PHP チュートリアル

ThinkPHP3.0 サムネイルをサブディレクトリに保存できない 解決策の概要_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:56:21
オリジナル
1017 人が閲覧しました

THINKPHP3.0 でファイルをアップロードした後、サムネイルをサブディレクトリに保存することはできません。これは、UploadFile.class.php アップロード クラスの getSubName() 関数は、元の画像のサブディレクトリのみを作成でき、サムネイルのサブディレクトリは作成できないためです。バグだと言ってください。

解決策 1 (ThinkPHP が提供する公式ソリューション。私はテストしていません): ThinkPHP3.1 の最新の UploadFile.class.php にアップグレードします (https://github.com/liu21st/extend/tree/master/Extend/)ライブラリ /ORG/Net)、ダウンロード後に元の UploadFile.class.php を置き換えます

解決策 2: UploadFile.class.php のコードの一部を変更する

これは私自身の解決策です。サムネイル用のサブディレクトリ生成機能を追加します

ステップ1>>

UploadFile.class.phpのgetSubName()関数を模倣してgetThumbSubName()関数を作成します

UploadFile.class.php の 158 行目を
コードは次のとおりです コードをコピー

プライベート関数 getThumbSubName($file) {
switch($this->subType) {
ケース「日付」:
$dir = date($this->dateFormat,time()); 休憩
ケース「ハッシュ」:
デフォルト:
$name = md5($this->thumbPath);
$dir = ''; for($i=0;$i<$this->hashLevel;$i++) {
$dir .= $name{$i}.'/'; }
休憩;
}
if(!is_dir(($this->thumbPath).$dir)) {
mkdir(($this->thumbPath).$dir); }
$dir を返します;
}



ステップ2>>
に変更します。

コードは次のとおりです

コードをコピー$thumbPath = $this->thumbPath?$this->thumbPath.($this->autoSub?$this->getThumbSubName($file).'/':''):$file['savepath '];

http://www.bkjia.com/PHPjc/632175.html

www.bkjia.com

http://www.bkjia.com/PHPjc/632175.html技術記事 THINKPHP3.0 でファイルをアップロードした後、サムネイルをサブディレクトリに保存できません。これは、UploadFile.class.php アップロード クラスの getSubName() 関数は、元の画像のサブディレクトリのみを作成できますが、サムネイルは作成できないためです...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート