> 백엔드 개발 > PHP 튜토리얼 > PHP에서 이미지 처리 사용 기사_PHP 튜토리얼

PHP에서 이미지 처리 사용 기사_PHP 튜토리얼

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-07-22 09:02:33
원래의
942명이 탐색했습니다.

array_diff($arr1,$arr2)

배열의 차이 집합을 계산하는 데 사용되는 PHP 배열 함수 중 하나입니다.
정기적으로 일치하는 html 이미지 태그
sinaeditor로 이미지 삭제 작업 추가
그 활용법 중 하나가 오늘 밤 시나 에디터를 활용해 기사를 게재하는 중입니다.
이 기능을 사용합니다

문제 설명:

기사에 여러 장의 사진이 있습니다. 기사를 추가하는 동안 웹사이트의 사진 디렉토리에 자동으로 업로드됩니다.
기사를 수정하는 과정에서 사진에 관련 삭제 작업을 수행하면 코드에 있지만(이미 데이터베이스에 저장되어 있음)
데이터 태그는 와 유사하지만
에는 여전히 이미지 파일이 있습니다. 웹사이트에서는 특정 처리가 필요합니다.

대처 방법:

먼저: 데이터베이스에서 원본 기사 콘텐츠를 가져옵니다
이미지 파일 이름을 가져옵니다
사용된 정규식

방법은 다음과 같습니다

코드는 다음과 같습니다:
공개 함수 getimgsinarticle($content)
{
$temp = 배열();
$imgs = 배열();
preg_match_all('/http[^d]*[d] [.](jpg|gif|png)/',$content,$temp);
$temp = $temp[0];
if(!empty($temp[0]))
{
for($i=0;$i {
$imgs[$i] = 경로정보($temp[$i]);
$imgs[$i] = $imgs[$i]['기본 이름'];
}
$imgs 반환;
}
그 외
{
false를 반환합니다.
}
}


먼저 http의 네 글자를 일치시킨 다음 숫자가 아닌 여러 문자를
과 일치시킵니다. 하나 적음, 하나의 일치하는 점(.), 일치는 jpg 또는 gif 또는 png로 끝나고 $congtent에서 검색됩니다. 결과는 $temp에 저장됩니다.
원본 데이터의 이미지를 데이터베이스에 배열로 저장합니다. 이름을 $oldimgs
로 지정합니다. 저장하고 나면 2차원 배열을 출력하는 부분이 좀 번거로운 것 같아요
참고: 내 사진 이름은 "201111291322589013.jpg"

와 유사합니다.

2단계:
사용자가 제출한 콘텐츠에서 모든 이미지를 찾는 방법은 위와 같습니다. 두 번째 배열을 얻어 $newimgs
라는 이름을 갖게 됩니다. arr1과 arr2의 차이 집합을 구하는 방법은 다음과 같습니다
--즉, 사용자가 새로 제출한 콘텐츠에 원본 데이터의 사진이 없으면 해당 사진이 삭제됩니다.

코드는 다음과 같습니다:
$oldimgs = $this->getimgsinarticle($oldarticledata['article_content']);
$newimgs = $this->getimgsinarticle($data['articlecontent']);
//print_r($newimgs);
$newimgs = 비어 있음($newimgs)?array():$newimgs;
if($oldimgs!=false)
{
$diff = array_diff($oldimgs,$newimgs);
$diff = array_values($diff);
if(!empty($diff))
{
for($i=0;$i {
$this->delimg($diff[$i],ARTICLE_IMG_DIR);
}
}
}


사진을 삭제하는 방법은 매우 간단합니다.

코드는 다음과 같습니다:
공개 함수 delimg($imgname,$dir)
{
@unlink($dir.'/'.$imgname);
true를 반환합니다.
}


이로써 제 목적은 달성되었습니다. 사용자가 사진이 포함된 글을 편집하면 해당 사진도 웹사이트에서 삭제됩니다
기사 속 사진의 이름을 알아내는 방법은 기사를 삭제하는 과정에도 적용될 수 있습니다.

사진을 삭제하는 방법으로는 realpath(__FILE__)를 사용하고 $dir에 다양한 "./""../"를 추가하여 웹사이트의 디렉토리에 상대적인 사진 디렉토리를 제공할 수 있습니다
여기의 일반 규칙은 HTML로 경로를 얻는 데 별로 좋지 않습니다. 최근에 일반 책을 찾았습니다.

www.bkjia.comhttp: //www.bkjia.com/PHPjc/371921.htmlTechArticlearray_diff($arr1,$arr2) 배열의 차이 집합을 계산하는 데 사용되는 PHP 배열 함수 중 하나입니다. 정규 매칭 sinaeditor에서 html 이미지 태그에 추가한 이미지 삭제 작업 사용법 중 하나입니다. 오늘 밤에는 Sina를 사용하고 있습니다...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿