>CMS 튜토리얼 >Discuz >휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

咔咔
咔咔원래의
2020-05-03 00:07:334569검색

이 글의 주요 내용: 휴대폰에서 이미지가 흐릿하게 표시되는 문제를 discuz가 해결하는 방법 주요 내용은 discuz가 다중 이미지 업로드, 대형 이미지 표시, 고품질 이미지 표시 등의 기능을 discuz로 구현한다는 것입니다. 원본은 PHP 중국어 웹사이트에 게시되어 있습니다. 재인쇄할 때 표시해 주세요. 더 많은 기사를 보시려면 PHP 중국어 웹사이트discuz 칼럼을 주목해 주세요.

최종 렌더링

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

다중 이미지 업로드 달성

파일 업로드/템플릿/default/touch/forum/post.htm 수정 83줄의 코드

수정된 내용: 여러 속성 추가

<li style="padding:0px;">
   <a href="javascript:;" class="y" style="background:url(static/image/mobile/images/icon_photo.png) no-repeat;overflow:hidden;">
      <input type="file" name="Filedata" multiple="multiple" id="filedata" style="width:30px;height:30px;font-size:30px;opacity:0;">
   </a>
</li>

수정 js file upload/template/default/touch/forum/post.htm Line 206

내용 수정: 그냥 직접 복사하세요

for (var i=0;i<this.files.length;i++ ) {
    var file_data = [];
    file_data.push(this.files[i]);
    $.buildfileupload({
        uploadurl:&#39;misc.php?mod=swfupload&operation=upload&type=image&inajax=yes&infloat=yes&simple=2&#39;,
        files:file_data,
        uploadformdata:{uid:"$_G[uid]", hash:"<!--{eval echo md5(substr(md5($_G[config][security][authkey]), 8).$_G[uid])}-->"},
        uploadinputname:&#39;Filedata&#39;,
        maxfilesize:"2000",
        success:uploadsuccess,
        error:function() {
            popup.open(&#39;上传失败,请稍后再试&#39;, &#39;alert&#39;);
        }
    });
}

다중 이미지 업로드 테스트: 이번에 다중 이미지 업로드가 구현되었습니다

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

큰 그림 표시

파일 업로드/템플릿/기본/touch/forum/discuzcode.htm 90줄 수정

수정 내용: 83을 330으로 변경

$fix = count($post[imagelist]) == 1 ? 140 : 330;

수정 효과: 330 이상에 대해서는 이미지의 너비를 표시해야 합니다. 그러나 이것은 한 기계에서 테스트되었으므로 다른 모델에는 문제가 있을 것입니다. 그리고 사진이 너무 흐릿해서 잘 안보이네요.

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

사진이 고화질로 나오네요

PC측을 열어보니 PC측 사진이 실제로 원본사진을 사용한 것을 발견했습니다

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

모바일측 사진을 보다가 우리는 사진 표시 규칙이 자체 규칙을 사용한다는 사실을 발견했습니다. 규칙 후에 Kaka는

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

이라고 쓸 것입니다. 모바일 단말기의 사진 표시 품질이 정말 걱정스럽습니다!

파일 upload/template/default/touch/forum/viewthread.htm 174-183행을

<!--{if $_G[&#39;forum_thread&#39;][&#39;subjectImage&#39;]}-->
<!--{loop $_G[&#39;forum_thread&#39;][&#39;subjectImage&#39;] $imageData}-->
<img src="data/attachment/forum/$imageData[attachment]" alt="">
<!--{/loop}-->
<!--{/if}-->

PHP 파일 upload/source/module/forum/forum_viewthread.php로 수정하세요: 20행 뒤에 추가하세요. 그냥

# 主题图片
$subjectImage = DB::fetch_all("select * from pre_forum_attachment where tid= &#39;$tid&#39; limit 1");
$subject_tableId = $subjectImage[0][&#39;tableid&#39;];
$subjectData = DB::fetch_all("select attachment from pre_forum_attachment_$subject_tableId where tid= &#39;$tid&#39;");
$thread[&#39;subjectImage&#39;] = $subjectData;

그런 다음 최종 효과를 얻습니다.

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

PHP 파일에 추가된 코드에 대해 간략하게 설명합니다.

업로드된 모든 이미지는 인덱스 테이블에 입력됩니다.

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

그런 다음 이 인덱스 테이블은 특정 규칙에 따라 그림을 해당 테이블에 추가합니다

휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법

# 主题图片
$subjectImage = DB::fetch_all("select * from pre_forum_attachment where tid= &#39;$tid&#39; limit 1");
$subject_tableId = $subjectImage[0][&#39;tableid&#39;];
$subjectData = DB::fetch_all("select attachment from pre_forum_attachment_$subject_tableId where tid= &#39;$tid&#39;");
$thread[&#39;subjectImage&#39;] = $subjectData;

이 코드는 실제로 주제 ID에 따라 이 주제의 그림이 저장된 인덱스 테이블을 쿼리합니다.

또는 테마 이미지의 첨부 테이블로 이동하여 테마 ID에 따라 테마 이미지를 가져옵니다.

그런 다음 전역 변수에 저장합니다.

그런 다음 프런트 엔드는 이 변수를 가져와 루프에 표시합니다.

요약

이 기능들은 카카가 오랜 시간 공들여 만들어낸 것입니다. 대부분의 Discuz 온라인 글은 백그라운드 기능에만 머물러 있고 템플릿의 두 번째 버전에 아주 좋습니다. 따라서 Kaka는 모든 사람에게 도움이 되기를 바라며 이와 관련하여 몇 가지 솔루션을 제공할 것입니다.

위 내용은 휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.