Home Backend Development PHP Tutorial Technology changes life - movie directory verification tool (php)_PHP tutorial

Technology changes life - movie directory verification tool (php)_PHP tutorial

Jul 13, 2016 pm 05:46 PM
php download No harmonious exist tool technology Change yes Life Movie of Table of contents this

In this era of overflowing harmony, it is not easy to download a movie, so I developed the habit of collecting movies. Two 1T hard drives have a collection of nearly 600 movies. After knowing this, many colleagues and friends started asking for help. I borrowed the hard drive to copy the movie, so the problem came...

Because there is no hard drive lock, I can't control whether they "tamper with" the hard drive, such as cutting or deleting by mistake. Although I have a special txt file that records the movie directory, as follows

Technology changes life - movie directory verification tool (php)_PHP tutorial 

But checking them one by one not only wastes time, but also causes fatigue and leads to missed readings. In this case, why not use my professional skills to realize my needs and just do it.

First, I need to read the movie directory from the txt file and save it as a php array

$fp = fopen('D:movieList.txt','r');

for($i=0; $i<562; $i++){

$arr[] = trim(substr(fgets($fp),4));

}

fclose($fp);

Among them, 562 is the number of lines in the txt file, because I only store one line for each movie. Because the first 4 characters in the storage directory are the video definition types, including DVD, BD and MKV, I use substr(fgets($fp),4) to remove the first 4 characters, and then use trim to remove the leading and trailing spaces, like this The film title finally stored in the array does not contain any other characters.

The next thing to do is to read the movie directory under the mobile hard disk. What I am looking for here is a function that reads the file name under the folder online

function myreaddir($dir){

$handle = opendir($dir);

$i = 0;

While($file=readdir($handle)){

If(($file != ". ")&&($file != ".. ")){

                $list[$i] = $file;

               $i = $i+1;

       }

}

closedir($handle);

Return $list;

}

$movie = myreaddir("I:movies");

This method has a flaw, that is, it cannot read files under sub-files, but it is enough for me. If you are interested, you can expand on this basis.

Then comes the verification process

foreach($arr as $v){

$f = false;

foreach($movie as $vv){

If(strstr($vv,$v)!=""){

               $f = true;

}

}

If(!$f){

echo $v."
";

}

}

The core method of verification is to determine whether string A contains string B, that is, whether the movie file name contains the title in the movie directory. If it does not, output it.

After testing, the accuracy rate is basically 80%, but there is a bug. For example, there is a movie called "Chainsaw" in my movie directory, but there is no "Chainsaw 1024*768.rmvb" in my folder, and there is a movie called " "Chainsaw 1024*768.rmvb", the program will pass.

The only solution is to record the complete file name when recording the movie directory. Don't just record "Chainsaw", but record "Chainsaw 1024*768", or simply record the file format, so that During verification, string comparison can be performed directly.

If there is a better solution, please let me know.

Original address: http://www.cnblogs.com/hooray/archive/2011/10/30/2228990.html

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478554.htmlTechArticleIn this era of overflowing harmony, it is not easy to download a movie, so I developed the habit I have a habit of collecting movies. Two 1T hard drives have collected nearly 600 movies, so many colleagues...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1663
14
PHP Tutorial
1264
29
C# Tutorial
1237
24
What is the difference between php framework laravel and yii What is the difference between php framework laravel and yii Apr 30, 2025 pm 02:24 PM

The main differences between Laravel and Yii are design concepts, functional characteristics and usage scenarios. 1.Laravel focuses on the simplicity and pleasure of development, and provides rich functions such as EloquentORM and Artisan tools, suitable for rapid development and beginners. 2.Yii emphasizes performance and efficiency, is suitable for high-load applications, and provides efficient ActiveRecord and cache systems, but has a steep learning curve.

What kind of software is a digital currency app? Top 10 Apps for Digital Currencies in the World What kind of software is a digital currency app? Top 10 Apps for Digital Currencies in the World Apr 30, 2025 pm 07:06 PM

With the popularization and development of digital currency, more and more people are beginning to pay attention to and use digital currency apps. These applications provide users with a convenient way to manage and trade digital assets. So, what kind of software is a digital currency app? Let us have an in-depth understanding and take stock of the top ten digital currency apps in the world.

Quantitative Exchange Ranking 2025 Top 10 Recommendations for Digital Currency Quantitative Trading APPs Quantitative Exchange Ranking 2025 Top 10 Recommendations for Digital Currency Quantitative Trading APPs Apr 30, 2025 pm 07:24 PM

The built-in quantization tools on the exchange include: 1. Binance: Provides Binance Futures quantitative module, low handling fees, and supports AI-assisted transactions. 2. OKX (Ouyi): Supports multi-account management and intelligent order routing, and provides institutional-level risk control. The independent quantitative strategy platforms include: 3. 3Commas: drag-and-drop strategy generator, suitable for multi-platform hedging arbitrage. 4. Quadency: Professional-level algorithm strategy library, supporting customized risk thresholds. 5. Pionex: Built-in 16 preset strategy, low transaction fee. Vertical domain tools include: 6. Cryptohopper: cloud-based quantitative platform, supporting 150 technical indicators. 7. Bitsgap:

Laravel logs and error monitoring: Sentry and Bugsnag integration Laravel logs and error monitoring: Sentry and Bugsnag integration Apr 30, 2025 pm 02:39 PM

Integrating Sentry and Bugsnag in Laravel can improve application stability and performance. 1. Add SentrySDK in composer.json. 2. Add Sentry service provider in config/app.php. 3. Configure SentryDSN in the .env file. 4. Add Sentry error report in App\Exceptions\Handler.php. 5. Use Sentry to catch and report exceptions and add additional context information. 6. Add Bugsnag error report in App\Exceptions\Handler.php. 7. Use Bugsnag monitoring

What is the significance of the session_start() function? What is the significance of the session_start() function? May 03, 2025 am 12:18 AM

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

Easeprotocol.com directly implements ISO 20022 message standard as a blockchain smart contract Easeprotocol.com directly implements ISO 20022 message standard as a blockchain smart contract Apr 30, 2025 pm 05:06 PM

This groundbreaking development will enable financial institutions to leverage the globally recognized ISO20022 standard to automate banking processes across different blockchain ecosystems. The Ease protocol is an enterprise-level blockchain platform designed to promote widespread adoption through easy-to-use methods. It announced today that it has successfully integrated the ISO20022 messaging standard and directly incorporated it into blockchain smart contracts. This development will enable financial institutions to easily automate banking processes in different blockchain ecosystems using the globally recognized ISO20022 standard, which is replacing the Swift messaging system. These features will be tried soon on "EaseTestnet". EaseProtocolArchitectDou

Is the digital currency app formal? Top 10 formal and legal virtual currency trading apps in the world Is the digital currency app formal? Top 10 formal and legal virtual currency trading apps in the world Apr 30, 2025 pm 07:09 PM

Recommended cryptocurrency trading platforms include: 1. Binance: the world's largest trading volume, supports 1,400 currencies, FCA and MAS certification. 2. OKX: Strong technical strength, supports 400 currencies, approved by the Hong Kong Securities Regulatory Commission. 3. Coinbase: The largest compliance platform in the United States, suitable for beginners, SEC and FinCEN supervision. 4. Kraken: a veteran European brand, ISO 27001 certified, holds a US MSB and UK FCA license. 5. Gate.io: The most complete currency (800), low transaction fees, and obtained a license from multiple countries. 6. Huobi Global: an old platform that provides a variety of services, and holds Japanese FSA and Hong Kong TCSP licenses. 7. KuCoin

Laravel Live Chat Application: WebSocket and Pusher Laravel Live Chat Application: WebSocket and Pusher Apr 30, 2025 pm 02:33 PM

Building a live chat application in Laravel requires using WebSocket and Pusher. The specific steps include: 1) Configure Pusher information in the .env file; 2) Set the broadcasting driver in the broadcasting.php file to Pusher; 3) Subscribe to the Pusher channel and listen to events using LaravelEcho; 4) Send messages through Pusher API; 5) Implement private channel and user authentication; 6) Perform performance optimization and debugging.

See all articles