이 글의 주요 내용: 휴대폰에서 이미지가 흐릿하게 표시되는 문제를 discuz가 해결하는 방법 주요 내용은 discuz가 다중 이미지 업로드, 대형 이미지 표시, 고품질 이미지 표시 등의 기능을 discuz로 구현한다는 것입니다. 원본은 PHP 중국어 웹사이트에 게시되어 있습니다. 재인쇄할 때 표시해 주세요. 더 많은 기사를 보시려면 PHP 중국어 웹사이트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:'misc.php?mod=swfupload&operation=upload&type=image&inajax=yes&infloat=yes&simple=2', files:file_data, uploadformdata:{uid:"$_G[uid]", hash:"<!--{eval echo md5(substr(md5($_G[config][security][authkey]), 8).$_G[uid])}-->"}, uploadinputname:'Filedata', maxfilesize:"2000", success:uploadsuccess, error:function() { popup.open('上传失败,请稍后再试', 'alert'); } }); }
다중 이미지 업로드 테스트: 이번에 다중 이미지 업로드가 구현되었습니다
파일 업로드/템플릿/기본/touch/forum/discuzcode.htm 90줄 수정
수정 내용: 83을 330으로 변경
$fix = count($post[imagelist]) == 1 ? 140 : 330;
수정 효과: 330 이상에 대해서는 이미지의 너비를 표시해야 합니다. 그러나 이것은 한 기계에서 테스트되었으므로 다른 모델에는 문제가 있을 것입니다. 그리고 사진이 너무 흐릿해서 잘 안보이네요.
PC측을 열어보니 PC측 사진이 실제로 원본사진을 사용한 것을 발견했습니다
모바일측 사진을 보다가 우리는 사진 표시 규칙이 자체 규칙을 사용한다는 사실을 발견했습니다. 규칙 후에 Kaka는
이라고 쓸 것입니다. 모바일 단말기의 사진 표시 품질이 정말 걱정스럽습니다!
파일 upload/template/default/touch/forum/viewthread.htm 174-183행을
<!--{if $_G['forum_thread']['subjectImage']}--> <!--{loop $_G['forum_thread']['subjectImage'] $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= '$tid' limit 1"); $subject_tableId = $subjectImage[0]['tableid']; $subjectData = DB::fetch_all("select attachment from pre_forum_attachment_$subject_tableId where tid= '$tid'"); $thread['subjectImage'] = $subjectData;
그런 다음 최종 효과를 얻습니다.
업로드된 모든 이미지는 인덱스 테이블에 입력됩니다.
그런 다음 이 인덱스 테이블은 특정 규칙에 따라 그림을 해당 테이블에 추가합니다
# 主题图片 $subjectImage = DB::fetch_all("select * from pre_forum_attachment where tid= '$tid' limit 1"); $subject_tableId = $subjectImage[0]['tableid']; $subjectData = DB::fetch_all("select attachment from pre_forum_attachment_$subject_tableId where tid= '$tid'"); $thread['subjectImage'] = $subjectData;
이 코드는 실제로 주제 ID에 따라 이 주제의 그림이 저장된 인덱스 테이블을 쿼리합니다.
또는 테마 이미지의 첨부 테이블로 이동하여 테마 ID에 따라 테마 이미지를 가져옵니다.
그런 다음 전역 변수에 저장합니다.
그런 다음 프런트 엔드는 이 변수를 가져와 루프에 표시합니다.
이 기능들은 카카가 오랜 시간 공들여 만들어낸 것입니다. 대부분의 Discuz 온라인 글은 백그라운드 기능에만 머물러 있고 템플릿의 두 번째 버전에 아주 좋습니다. 따라서 Kaka는 모든 사람에게 도움이 되기를 바라며 이와 관련하여 몇 가지 솔루션을 제공할 것입니다.
위 내용은 휴대폰에서 사진이 흐릿하게 표시되는 문제를 discuz가 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!