ebooks sorteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Team Lead/ Lead developer gezocht (Hands-on, PHP,

Functie Als Team Lead ben je de leider van één van de ontwikkelteams binnen de organisatie. Je leidt als lead developer een goed draaiend team dat werkt aan complexe en duurzame applicaties en API’s. Vanuit je kennis en ervaring ben je in staat het grote plaatje te blijven overzien, en kritisch mee te denken over bijvoorbeeld de architectuur, maar ook de algehele aanpak binnen het project. Je laat je team niet alleen technisch goed functioneren maar ben ook betrokken bij het menselijke aspect. Zo weet jij je collega’s te motiveren en begeleiden in hun dagelijkse werk. Buiten het team ben

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving Voor de gemeente Amsterdam zijn wij op zoek naar een softwareontwikkelaar Cleopatra. De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van brom- en snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie. Functie

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

Software Developer

Functie omschrijving Heb jij affiniteit met ICT en een WO diploma in de pocket? Dan ben je hier aan het juiste adres. Voor een opdrachtgever in Amsterdam zijn wij op zoek naar kandidaten die (enige) ervaring hebben met Java, Javascript, C of C++. Je zal door middel van trainingen worden opgeleid tot een volwaardige Software Developer. Er wordt tijdens de training natuurlijk veel aandacht besteedt aan de vaktechnische aspecten, maar er gaat ook veel aandacht uit naar jouw persoonlijke ontwikkeling. Bedrijfsprofiel Bij deze opdrachtgever in de omgeving van Amsterdam zoeken ze meerdere enthousiaste kandidaten die hun carrière willen starten met

Bekijk vacature »
E Ander

E Ander

14/09/2020 09:10:05
Quote Anchor link
Hallo,
Ik wil mijn e-books gaan sorteren en in een database gaan zetten zodat ik makkelijker kan zien welk boek ik heb. Mijn eerste stap is om de boeken bij elkaar in mappen te doen op een Synology. Ik werk met PHP en werk in een webbased omgeving.
Inmiddels ben ik redelijk ver dankzij hulp van Google maar ik struikel nu bij de opdracht rename waar ik maar geen oplossing voor vind.
Het blijkt dat de namen van de boeken op de Synology een extra verborgen naam krijgen Laanen_Rob-Anavatos.epub@SynoEAStream dat laatste @SynoEAStream is zichtbaar via PHP maar niet zichtbaar in windows verkenner.
Draai ik het script dan krijg ik de volgende meldingen:
Zoek naar epub in de map
Gevonden: entry=Laanen_Rob-Anavatos.epub@SynoEAStream
Synology opdracht gevonden: @synoeastream=@synoeastream en negeren.
Blijft over: entry=laanen_rob-anavatos.epub
extentie=epub
schrijver-boek laanen_rob-anavatos.epub
teken - staat op 10 plaats

Schrijver is dan laanen_rob
Boektitel is dan anavatos.epub

Nieuwe mapnaam is: laanen_rob
map laanen_rob is al aanwezig. Dus niet opnieuw aangemaakt.

Verhuizen van ../epub/Laanen_Rob-Anavatos.epub@SynoEAStream
naar laanen_rob/anavatos.epub
Warning: rename(../epub/Laanen_Rob-Anavatos.epub@SynoEAStream,laanen_rob/anavatos.epub): No such file or directory in /volume1/web/epub/index.php on line 73


Bij de opdracht rename heb ik $van en $naar. Ik heb van al geprobeerd met de volledige Anavatos.epub@SynoEAStream en met de Anavatos.epub maar bij beide houd ik de melding No such file or directory in /volume1/web/epub/index.php on line 73 waarbij regel 73 de regel met rename is.

Ik heb geprobeerd:
(de startmap is epub programma is index.php)
../epub/Laanen_Rob-Anavatos.epub@SynoEAStream
Laanen_Rob-Anavatos.epub@SynoEAStream
/Laanen_Rob-Anavatos.epub@SynoEAStream
/Laanen_Rob-Anavatos.epub
Laanen_Rob-Anavatos.epub
Of ik dacht dat ik dit allemaal geprobeerd heb.;-)

Het script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
// lees mappen
//lees alle directories

$sDirName = '';
$aDirectories = glob( $sDirName . '*', GLOB_ONLYDIR );
sort( $aDirectories ); // sorteren
foreach ( $aDirectories as $sDirectory )
 {

    echo "Zoek naar epub in de map<br>";
    // lees de epubs in mappen
    if ($handle = opendir($sDirectory))
        {

        while (false !== ($entry = readdir($handle)))
            {

            if ($entry != "." && $entry != "..")
                {

                echo "Gevonden: entry=".$entry."<br>";
                $volledigenaam=$entry;
                //staat er @SynoEAStream achter van de Synology?
                $synologytekst= strtolower(substr($entry,-13)); // laatste 4 tekens
                echo "Synology opdracht gevonden: @synoeastream=".$synologytekst." en negeren.<br>";
                
                if ($synologytekst=='@synoeastream'){$entry=(strtolower(substr_replace($entry,"",-13)));}
                echo "Blijft over: entry=".$entry."<br>";
                $extentie = strtolower(substr($entry,-4)); // laatste 4 tekens
                echo "extentie=".$extentie."<br>";
                
                
                // lees alleen maar epubs in
                if ($extentie == "epub")
                    {
                    
                        // omzetten naar kleine letters
                        $naam= strtolower($entry);
                        echo "schrijver-boek ".$entry."<br>";
                        //echo "gevonden epub = $naam<br>";
                        
                        // filter de schrijvernaam er uit
                        // links van -

                        $pos = strpos($naam, '-');                        
                        echo "teken - staat op ".$pos." plaats<br>";
                        if ($pos<=1){echo "Bij $naam geen scheiding tussen schrijver en boeknaam gevonden.<br><br>";}
                        // de naam die daar staat is:
                        // alles naar kleine letters.

                        $schrijver = strtolower(substr($naam,0,$pos));
                        $boektitel = strtolower(substr($naam,$pos+1));
                        echo "<br>Schrijver is dan ".$schrijver."<br>";
                        echo "Boektitel is dan ".$boektitel."<br>";
                        // komma en spatie er uit filteren
                        $schrijver=TRIM($schrijver);
                        $schrijver=str_replace(',', '_', $schrijver);
                        $schrijver=str_replace(' ', '_' , $schrijver);
                        $schrijver="$schrijver";
                        
                        // kijk of er al een mapnaam bestaat en maak anders een map aan
                        $nieuwemap=$schrijver;
                        echo "<br>Nieuwe mapnaam is: ".$nieuwemap."<br>";
                        if (!file_exists($nieuwemap))
                        {

                            mkdir($nieuwemap, 0777, true);
                            echo "Map gemaakt met naam ".$nieuwemap."<br>";
                        }
else{
                            echo "map ".$nieuwemap." is al aanwezig. Dus niet opnieuw aangemaakt.<br><br>";
                        }

                        $nieuwemap=TRIM($nieuwemap);
                        $boektitel=TRIM($boektitel);
                        // verplaatst naar de gemaakte mapnaam
                        $van = $volledigenaam;
                        //$van = $entry;
                        $naar= $nieuwemap."/".$boektitel;
                            echo "Verhuizen van ".$van."<br>";
                            echo " naar ".$naar."<br>";
                            
                            rename($van, $naar);
                            echo "<br><br>";
                        echo "<br>===================<br>";
                       }                                        
                }  
            }
        }
    }



?>

Mijn vraag is, wat doe ik verkeerd dat ik de foutmelding krijg.
 
PHP hulp

PHP hulp

25/04/2024 16:09:20
 
Adoptive Solution

Adoptive Solution

14/09/2020 10:11:22
Quote Anchor link
Hier wat uitleg over verborgen bestanden.

https://www.synology-forum.nl/externe-harddisks-en-printers/na-kopieer-taak-via-usb-copy-dubbele-kleine-bestanden/

Overigen kan je makkelijk naar epub bestanden zoeken :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$path
= ".";
if ( $files = scandir( $path ) )
{

    $extensions = array( "epub", "jpg", "png" );
    foreach ( $files as $epub )
    {

        $fileExtension = strtolower( pathinfo( $epub, PATHINFO_EXTENSION ) );
        if( in_array( $fileExtension , $extensions ) )
        {

            echo $epub . '<br />' . PHP_EOL;
        }
    }
}

?>
 
E Ander

E Ander

14/09/2020 10:16:11
Quote Anchor link
Adoptive Solution bedankt voor je tip. Het zoekdeel gebruik ik geregeld in andere scripts om iets te zoeken. Ik hoef dan een beetje aan te passen voor word pdf html of iets anders wat ik wil vinden.
Youw tip ga ik zeker gebruiken, hoewel het geen antwoord op mijn vraag was.
 
Adoptive Solution

Adoptive Solution

14/09/2020 10:20:10
Quote Anchor link
Als ik je code toepas op epubs dan blijk dat rename niet werkt omdat van elke titel de eerste letter ontbreekt.

[
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$boektitel = strtolower(substr($naam,$pos+1));
echo "<br>Schrijver is dan ".$schrijver."<br>";
echo "Boektitel is dan ".$boektitel."<br>";
 
E Ander

E Ander

14/09/2020 10:30:42
Quote Anchor link
Inmiddels heb ik het probleem gevonden. Ik vertaalde alles naar kleine letters maar het 'van' deel moest natuurlijk de originele naam houden.
Nieuwe werkende script is nu:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
// lees mappen
//lees alle directories

$sDirName = '';
$aDirectories = glob( $sDirName . '*', GLOB_ONLYDIR );
sort( $aDirectories ); // sorteren
foreach ( $aDirectories as $sDirectory )
 {

    echo "Zoek naar epub in de map<br>";
    // lees de epubs in mappen
    if ($handle = opendir($sDirectory))
        {

        while (false !== ($entry = readdir($handle)))
            {

            if ($entry != "." && $entry != "..")
                {

                echo "Gevonden: entry=".$entry."<br>";
                $volledigenaam=$entry;
                //staat er @SynoEAStream achter van de Synology?
                $synologytekst= substr($entry,-13); // laatste 4 tekens
                echo "Synology opdracht gevonden: @synoeastream=".$synologytekst." en negeren.<br>";
                
                if ($synologytekst=='@SynoEAStream'){$entry=(substr_replace($entry,"",-13));}
                echo "Blijft over: entry=".$entry."<br>";
                $van=$entry;
                $extentie = strtolower(substr($entry,-4)); // laatste 4 tekens
                echo "extentie=".$extentie."<br>";
                
                
                // lees alleen maar epubs in
                if ($extentie == "epub")
                    {
                    
                        // omzetten naar kleine letters
                        $naam= strtolower($entry);
                        echo "schrijver-boek ".$entry."<br>";
                        //echo "gevonden epub = $naam<br>";
                        
                        // filter de schrijvernaam er uit
                        // links van -

                        $pos = strpos($naam, '-');                        
                        echo "teken - staat op ".$pos." plaats<br>";
                        if ($pos<=1){echo "Bij $naam geen scheiding tussen schrijver en boeknaam gevonden.<br><br>";}
                        // de naam die daar staat is:
                        // alles naar kleine letters.

                        $schrijver = strtolower(substr($naam,0,$pos));
                        $boektitel = strtolower(substr($naam,$pos+1));
                        echo "<br>Schrijver is dan ".$schrijver."<br>";
                        echo "Boektitel is dan ".$boektitel."<br>";
                        // komma en spatie er uit filteren
                        $schrijver=TRIM($schrijver);
                        $schrijver=str_replace(',', '_', $schrijver);
                        $schrijver=str_replace(' ', '_' , $schrijver);
                        $schrijver="$schrijver";
                        
                        // kijk of er al een mapnaam bestaat en maak anders een map aan
                        $nieuwemap=$schrijver;
                        echo "<br>Nieuwe mapnaam is: ".$nieuwemap."<br>";
                        if (!file_exists($nieuwemap))
                        {

                            mkdir($nieuwemap, 0777, true);
                            echo "Map gemaakt met naam ".$nieuwemap."<br>";
                        }
else{
                            echo "map ".$nieuwemap." is al aanwezig. Dus niet opnieuw aangemaakt.<br><br>";
                        }

                        $nieuwemap=TRIM($nieuwemap);
                        $boektitel=TRIM($boektitel);
                        // verplaatst naar de gemaakte mapnaam
                        //$van = "../epub/".$volledigenaam;
                        //$van = $entry;

                        $naar= $nieuwemap."/".$boektitel;
                            echo "Verhuizen van ".$van."<br>";
                            echo " naar ".$naar."<br>";
                            
                            rename($van, $naar);
                            
                            echo "<br><br>";
                        echo "<br>===================<br>";
                       }                                        
                }  
            }
        }
    }

$path = ".";
if ( $files = scandir( $path ) )
{

        $extensions = array( "epub", "jpg", "png" );
        foreach ( $files as $epub )
        {

            $fileExtension = strtolower( pathinfo( $epub, PATHINFO_EXTENSION ) );
            if( in_array( $fileExtension , $extensions ) )
            {

                echo $epub . '<br />' . PHP_EOL;
            }
        }
}


?>
 
Adoptive Solution

Adoptive Solution

14/09/2020 11:20:26
Quote Anchor link
Ik heb mij er ook even tegenaan bemoeid en dit kwam eruit.

Het houdt o.a. rekening met het ontbreken van een schrijver.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php
$aDirectories
= glob( "." . '*', GLOB_ONLYDIR );
sort( $aDirectories ); // sorteren
$extensions = array( "epub" );
foreach ( $aDirectories as $sDirectory )
{

    echo "Zoek naar epub in de map<br>";
    // lees de epubs in mappen
    if ( $handle = opendir( $sDirectory ) )
    {

        while ( FALSE !== ( $entry = readdir( $handle ) ) )
        {

            $fileExtension = strtolower( pathinfo( $entry, PATHINFO_EXTENSION ) );
            if( in_array( $fileExtension , $extensions ) )
            {

                echo "Gevonden: entry=" . $entry . "<br />";
                $volledigenaam = $entry;

                echo "Blijft over: entry=".$entry."<br>";
                $extentie = strtolower( substr( $entry, -4 ) ); // laatste 4 tekens
                echo "extentie=".$extentie."<br>";
                // lees alleen maar epubs in
                if ( $extentie == "epub" )
                {

                    // omzetten naar kleine letters
                    $naam= strtolower( $entry );
                    echo "schrijver-boek " . $entry . "<br />";
                    //echo "gevonden epub = $naam<br>";

                    $boek = explode( "-", $entry );
                    echo '<pre>' . print_r( $boek, TRUE ) . '</pre>';

                    if ( count( $boek ) == 1 )
                    {

                        $schrijver = 'Onbekend';
                        $boektitel = trim( $boek[0] );
                    }
else {
                        $schrijver = trim( $boek[0] );
                        $schrijver = str_replace( ',', '_', $schrijver );
                        $schrijver = str_replace( ' ', '_', $schrijver );
                        $boektitel = trim( $boek[1] );
                    }

                    echo "Schrijver is dan " . $schrijver . "<br />";
                    echo "Boektitel is dan " . $boektitel . "<br />";
                        
                    // kijk of er al een mapnaam bestaat en maak anders een map aan
                    $nieuwemap = $schrijver;
                    echo "Nieuwe mapnaam is: " . $nieuwemap . "<br />";
                    if( !is_dir( $nieuwemap ) )
                    {

                        if ( mkdir( $nieuwemap, 0777, true) === TRUE )
                        {

                            echo "Map gemaakt met naam ".$nieuwemap."<br />";
                        }
                    }
else {
                        echo "map ".$nieuwemap." is al aanwezig. Dus niet opnieuw aangemaakt.<br /><br />";
                    }

                    // verplaatst naar de gemaakte mapnaam
                    $van = $volledigenaam;
                    $naar= $nieuwemap . "/" . $boektitel;
                    echo "Verhuizen van " . $van . "<br />";
                    echo "naar " . $naar . "<br />";
                    rename( $van, $naar );
                    echo "<br />===================<br />";
                }
            }
        }
    }
}

?>


Toevoeging op 14/09/2020 11:23:12:

Ik zie inmiddels dat het verwijderen van kommas en spaties in de titel moet en niet in de schrijver.
Maar goed, alles behoeft uiteindelijk verbetering.

Toevoeging op 14/09/2020 11:29:00:

Als regels 33-41 worden vervangen, lukt het beter.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
if ( count( $boek ) == 1 )
{
    $schrijver = 'Onbekend';
    $boektitel = trim( $boek[0] );
} else {
    $schrijver = trim( $boek[0] );
    $boektitel = trim( $boek[1] );
}
$schrijver = str_replace( ',', '_', $schrijver );
$schrijver = str_replace( ' ', '_', $schrijver );
$boektitel = str_replace( ',', '_', $boektitel );
$boektitel = str_replace( ' ', '_', $boektitel );
 
E Ander

E Ander

14/09/2020 11:43:37
Quote Anchor link
Bedankt voor je hulp.
Ik ben er nog niet want ik moet nu nog serie en volgnummer er uit filteren.
Dan zo'n 6000 boeken normalizeren voor een database en dan alle boeken in een schrijvermap met linken vanuit de database.
Ik heb dus nog wat te doen

Toevoeging op 14/09/2020 11:46:17:

Elk boek moet dus schrijver-=volgordenummer+serie(titel.epub o.i.d. benoemd gaan worden.
Wellicht eerst daar een script op los laten.
Peter
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.