.
이 방법은 상당히 자명합니다.
.
run $ php composer.phar 설치 라이브러리를 다운로드하고 공급 업체/autoload.php autoloader 파일을 생성합니다.
클래스 사용
Symfony의 Domcrawler 구성 요소 설치 똑바로. PHP 용 종속성 관리 도구 인 Composer를 사용할 수 있습니다. 프로젝트 디렉토리에서 다음 명령을 실행하십시오. Composer는 Symfony/Dom-Crawler가 필요합니다. 이것은 종속성과 함께 Domcrawler 구성 요소를 다운로드하여 설치합니다.
아래는 클래스 속성과 그 역할의 목록입니다.
<__> URL을 인수로 받아들이는 __Construct Magic 메소드를 만듭니다. <span><span><?php </span></span><span><span>class ZipImages {
</span></span><span> <span>private $folder;
</span></span><span> <span>private $url;
</span></span><span> <span>private $html;
</span></span><span> <span>private $fileName;
</span></span><span> <span>private $status;</span></span></span>
이 시점에서, 우리는 이미지를 검색하기 위해 Symfony Crawler 구성 요소를 인스턴스화 한 다음 모든 이미지를 폴더에 다운로드하여 저장합니다. <span>public function __construct($url) {
</span> <span>$this->url = $url;
</span> <span>$this->html = file_get_contents($this->url);
</span> <span>$this->setFolder();
</span><span>}</span>
<span>public function setFolder($folder="image") {
</span> <span>// if folder doesn't exist, attempt to create one and store the folder name in property $folder
</span> <span>if(!file_exists($folder)) {
</span> <span>mkdir($folder);
</span> <span>}
</span> <span>$this->folder = $folder;
</span><span>}</span>
<span>public function setFileName($name = "zipImages") {
</span> <span>$this->fileName = $name;
</span><span>}</span>
<span>public function domCrawler() {
</span> <span>//instantiate the symfony DomCrawler Component
</span> <span>$crawler = new Crawler($this->html);
</span> <span>// create an array of all scrapped image links
</span> <span>$result = $crawler
</span> <span>->filterXpath('//img')
</span> <span>->extract(array('src'));
</span>
<span>// download and save the image to the folder
</span> <span>foreach ($result as $image) {
</span> <span>$path = $this->folder."/".basename($image);
</span> <span>$file = file_get_contents($image);
</span> <span>$insert = file_put_contents($path, $file);
</span> <span>if (!$insert) {
</span> <span>throw new <span>\Exception</span>('Failed to write image');
</span> <span>}
</span> <span>}
</span><span>}</span>
<span>public function createZip() {
</span> <span>$folderFiles = scandir($this->folder);
</span> <span>if (!$folderFiles) {
</span> <span>throw new <span>\Exception</span>('Failed to scan folder');
</span> <span>}
</span> <span>$fileArray = array();
</span> <span>foreach($folderFiles as $file){
</span> <span>if (($file != ".") && ($file != "..")) {
</span> <span>$fileArray[] = $this->folder."/".$file;
</span> <span>}
</span> <span>}
</span>
<span>if (create_zip($fileArray, $this->fileName.'.zip')) {
</span> <span>$this->status = <span><span>
</span></span><span>File successfully archived. <a href="<span%20><span%20>%24this->fileName</span>.zip">Download it now</a>
</span></span><span><span>HTML<span>;</span></span>
</span> <span>} else {
</span> <span>$this->status = "An error occurred";
</span> <span>}
</span><span>}</span>
<span>public function deleteCreatedFolder() {
</span> <span>$dp = opendir($this->folder) or die ('ERROR: Cannot open directory');
</span> <span>while ($file = readdir($dp)) {
</span> <span>if ($file != '.' && $file != '..') {
</span> <span>if (is_file("<span><span>$this->folder</span>/<span>$file</span>"</span>)) {
</span> <span>unlink("<span><span>$this->folder</span>/<span>$file</span>"</span>);
</span> <span>}
</span> <span>}
</span> <span>}
</span> <span>rmdir($this->folder) or die ('could not delete folder');
</span><span>}</span>
.
Symfony의 Domcrawler 구성 요소를 설치하려면 어떻게합니까?
위 내용은 Symfony의 Domcrawler와 함께 이미지 스크래핑의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

PHP 로깅은 웹 애플리케이션을 모니터링하고 디버깅하고 중요한 이벤트, 오류 및 런타임 동작을 캡처하는 데 필수적입니다. 시스템 성능에 대한 귀중한 통찰력을 제공하고 문제를 식별하며 더 빠른 문제 해결을 지원합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

Storage :: Laravel Framework의 다운로드 방법은 파일 스토리지의 추상화를 관리하는 동안 파일 다운로드를 안전하게 처리하기위한 간결한 API를 제공합니다. 다음은 예제 컨트롤러에서 Storage :: download ()를 사용하는 예입니다.

Laravel 's View :: Share Method는 모든 응용 프로그램의보기에서 데이터에 액세스 할 수 있도록 간소화 된 접근 방식을 제공합니다. 이는 글로벌 설정, 사용자 기본 설정 또는 반복 UI 구성 요소를 관리하는 데 특히 유용합니다. Laravel 개발에서


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
