Check filename and copy
Ik ben op zoek naar een (simpel) script dat de inhoud van een bepaalde map controleert op bestandsnaam.
Bestanden in deze map hebben de volgende naam variant: 20150724_XXXXX.mp3
Waarbij XXXX telkens weer anders is, en het bestand dus begint met een datum notatie.
Wanneer het script de inhoud van een map uitleest en een bestand tegenkomt met de datum van die dag, dan dient het bestand naar een andere map verplaatst te worden en moet de datum "eraf" worden gehaald zodat je alleen "XXXXX".mp3 over houd.
Bestanden in deze map hebben de volgende naam variant: 20150724_XXXXX.mp3
Waarbij XXXX telkens weer anders is, en het bestand dus begint met een datum notatie.
Wanneer het script de inhoud van een map uitleest en een bestand tegenkomt met de datum van die dag, dan dient het bestand naar een andere map verplaatst te worden en moet de datum "eraf" worden gehaald zodat je alleen "XXXXX".mp3 over houd.
Als je wilt dat iemand dat maakt plaats dan een vacature.
http://www.phphulp.nl/forum/newtopic/26/
Lees eerst even de regels: http://www.phphulp.nl/php/forum/topic/criteria-php-vacature-berichten/16800/
http://www.phphulp.nl/forum/newtopic/26/
Lees eerst even de regels: http://www.phphulp.nl/php/forum/topic/criteria-php-vacature-berichten/16800/
Als je de beschikking hebt over een database is het wellicht handiger om daar data-verrijking te doen (meer informatie op te slaan bij een bestand) dan in de bestandsnaam/directorystructuur zelf.
Je zou dan de namen van de mp3-bestanden gelijk kunnen maken aan een nummer wat correspondeert met het record-id van de database-data.
Je vertelt er niet bij of deze bestanden vrij op te vragen zijn. Indien dat niet het geval is zou je deze bestanden af kunnen schermen voor publiek en kunnen serveren via een script die controleert of iemand voldoende privileges heeft om het mp3-bestand op te vragen.
Het beveiligen van het bestand door het geven van een ingewikkelde naam (security-through-obscurity) is waarschijnlijk niet heel erg veilig (geeft je geen garanties).
Je zou dan de namen van de mp3-bestanden gelijk kunnen maken aan een nummer wat correspondeert met het record-id van de database-data.
Je vertelt er niet bij of deze bestanden vrij op te vragen zijn. Indien dat niet het geval is zou je deze bestanden af kunnen schermen voor publiek en kunnen serveren via een script die controleert of iemand voldoende privileges heeft om het mp3-bestand op te vragen.
Het beveiligen van het bestand door het geven van een ingewikkelde naam (security-through-obscurity) is waarschijnlijk niet heel erg veilig (geeft je geen garanties).
Hoi Maarten,
Kon het niet laten om toch maar wat te schrijven..
Grt Pieter
Kon het niet laten om toch maar wat te schrijven..
Grt Pieter
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$dir1 = '/path/to/folder1/';
$dir2 = '/path/to/folder2/';
$files_to_scan = scandir($dir1);
$today = date("Ymd");
foreach ($files_to_scan as $scan) {
if (preg_match('/^'.$today.'/' , $scan)) {
$old_path_name = $dir1 . $scan;
$new_path_name = $dir2 . substr($scan, 9);
rename($old_path_name , $new_path_name);
}
}
?>
$dir1 = '/path/to/folder1/';
$dir2 = '/path/to/folder2/';
$files_to_scan = scandir($dir1);
$today = date("Ymd");
foreach ($files_to_scan as $scan) {
if (preg_match('/^'.$today.'/' , $scan)) {
$old_path_name = $dir1 . $scan;
$new_path_name = $dir2 . substr($scan, 9);
rename($old_path_name , $new_path_name);
}
}
?>
Gewijzigd op 24/07/2015 17:52:01 door Pieter R
Met glob() kan je makkelijk zoeken. Je krijgt dan een array met de bestanden die voldoen aan je zoekomschrijving.
Dat gaat met preg_match() ook, maar glob() schijnt veel sneller te zijn.
Dat gaat met preg_match() ook, maar glob() schijnt veel sneller te zijn.
Bedankt allen voor het reageren.
Met behulp van het script voorbeeld van PieterR heb ik het aan het werk.
Met behulp van het script voorbeeld van PieterR heb ik het aan het werk.




