php 노트:글 속 그림 처리 사용
질문 설명:
글 에 몇 개의 그림 이 있 습 니 다.글 을 추가 하 는 과정 에서 사이트 에 자동 으로 올 라 오 는 그림 디 렉 터 리 에서 글 을 수정 하 는 과정 에서 그림 을 삭제 하 는 작업 을 하면 코드 에 있 지만(데이터베이스 에 저장 되 어 있 음).데이터 탭 이 삭제 되 었 습 니 다.이러한 탭 입 니 다.하지만 그림 의 파일 은 사이트 에 존재 합 니 다.이 럴 때 는 일정한 처리 가 필요 합 니 다.
처리 방법:
우선:데이터베이스 에서 원본 글 의 내용 을 얻 고 그림 의 파일 이름 을 정규 로 사 용 했 습 니 다.
방법 은 다음 과 같다
public function getimgsinarticle($content)
{
$temp = array();
$imgs = array();
preg_match_all('/http[^\d]*[\d]+[\.](jpg|gif|png)/',$content,$temp);
$temp = $temp[0];
if(!empty($temp[0]))
{
for($i=0;$i<count($temp);$i++)
{
$imgs[$i] = pathinfo($temp[$i]);
$imgs[$i] = $imgs[$i]['basename'];
}
return $imgs;
}
else
{
return false;
}
}
.정규 에 대해 설명 하고 http 네 글자 와 일치 한 다음 에 비 숫자 문자 몇 개 와 일치 합 니 다.일치 하 는 숫자 문 자 는 적어도 하나,일치 하 는 점(.)하나 입 니 다.jpg 나 gif 또는 png 로 끝 나 는 것 과 일치 합 니 다.$congtent 에서 찾 습 니 다.결 과 는$temp 에 저 장 됩 니 다.데이터베이스 에 있 는 원본 데이터 의 그림 을 배열 에 저장 합 니 다.$oldimgs 라 는 이름 을 가 진 곳 은 개선 해 야 한다 고 생각 합 니 다.저장 한 후에 인쇄 하 는 것 은 2 차원 배열 입 니 다.사용 하기 가 좀 힘 듭 니 다.제 그림 이름 은 이와 유사 합 니 다."2011 11291322589013.jpg"두 번 째 단계:사용자 가 제출 한 내용 에서 모든 그림 을 찾 는 방법 은 다음 과 같 습 니 다.배열 2 의 이름 을 얻 은$new imgs 는 arr 1 과 arr 2 에 대한 차 이 를 구 하 는 방법 은 다음 과 같 습 니 다.즉,원본 데이터 에 있 는 그림 이 사용자 가 새로 제출 한 내용 에 존재 하지 않 는 다 면 이 그림 을 삭제 하 는 방법 은 다음 과 같 습 니 다.
$oldimgs = $this->getimgsinarticle($oldarticledata['article_content']);
$newimgs = $this->getimgsinarticle($data['articlecontent']);
//print_r($newimgs);
$newimgs = empty($newimgs)?array():$newimgs;
if($oldimgs!=false)
{
$diff = array_diff($oldimgs,$newimgs);
$diff = array_values($diff);
if(!empty($diff))
{
for($i=0;$i<count($diff);$i++)
{
$this->delimg($diff[$i],ARTICLE_IMG_DIR);
}
}
}
이렇게 하면 제 목적 이 이 루어 집 니 다.사용자 가 그림 이 있 는 글 을 편집 하 였 습 니 다.그림 이 삭제 되 었 다 면 해당 그림 도 웹 사이트 에서 글 의 그림 이름 을 삭제 하 는 방법 은 글 을 삭제 하 는 과정 에 도 적 용 됩 니 다.그림 을 삭제 하 는 방법 중$dir 는 realpath()을 사용 할 수 있 습 니 다.FILE__)여러 가지".../".../"를 더 해서 사이트 의 디 렉 터 리 에 비해 html 의 경 로 를 얻 는 데 있어 서 여기 의 정규 가 잘 쓰 여 있 지 않 습 니 다.연구 가 필요 합 니 다.최근 에 정규 책 을 발 견 했 습 니 다.정규 표현 식 제3 판 에 정통 합 니 다. Jeffrey E.F.Friedl 지음,여 성(cheng)옮 김
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.