ebooks sorteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net developer senior

Functie­omschrijving "Ik werk graag bij de Belastingdienst. Het is een complexe omgeving waarin ik met veel plezier werk. Mijn werk doet ertoe voor burgers en bedrijven." Linda Hagendijk - Applicatieontwikkelaar bij de Belastingdienst. Als .NET-developer voor de directie informatievoorziening werk je vooral voor het toeslagenverstrekkingensysteem. Dit zorgt voor de toekenning en uitbetaling van de zorg-, huur-, en kinderopvangtoeslag en het kindgebondenbudget, waar maar liefst 12 miljoen burgers in Nederland gebruik van maken. Het is een van de grootste.NET-toepassingen in Nederland, bestaande uit ongeveer dertig componenten met een totale omvang van ongeveer 16.000 functiepunten. De databases zijn zeer groot en het

Bekijk vacature »

Threat Modeler – DevSecOps

Threat Modeler – DevSecOps As an Experienced Security Specialist in DevSecOps, you will help our clients in developing and evangelizing the best practices for DevSecOps and secure CI/CD and coaching agile software development teams embedding a security mindset. You should have the following experience/expertise: Work with the DevOps teams learn them how to apply a threat modeling solution to their own environment and how to adjust for new situations Understand security design for applications, APIs, containers, dockers, cloud (Azure and AWS) and other technologies involved Experience with security design review and threat modeling Experience with performing security assessment like SAST,

Bekijk vacature »

C# backend developer, Rotterdam

Voor een grote organisatie in Rotterdam zijn we op zoek naar iemand met ruime ervaring in het ontwikkelen van applicaties in .NET C#. Het gaat hier om een organisatie met een maatschappelijke impact. Hun systemen zijn gericht op een groot aantal klanten waarbij het belangrijk is dat de applicaties helder, toegankelijk en up-to-date zijn. Als .NET C# developer werk je aan uiteenlopende applicaties, APIs en het interne framework. Dit doe je binnen een SCRUM team en meedenkt binnen het hele proces. Het team bestaat uit meerdere C# developers variërend van medior tot senior. Er is dus veel kennis en ervaring

Bekijk vacature »

Lead Drupal Ontwikkelaar / Full Digital Agency / U

Functieomschrijving Kent Drupal voor jou geen geheimen en ben jij de Lead Ontwikkelaar die graag meewerkt aan innovatieve software oplossingen voor grote en toonaangevende organisaties? Lees dan snel deze vacature van Lead Drupal Ontwikkelaar! Ontwikkelen van webapplicaties in de nieuwste versies van Drupal; Doorontwikkelen van huidige applicaties; Aansturen van talentvolle ontwikkelaars; Meedenken over architecturen; Sparringspartner van de projectmanager. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar aantoonbare werkervaring met Drupal; Ervaring in Scrum/Agile omgevingen; Aantoonbare ervaring met het aansturen van developers; Communicatief vaardig. Bedrijfsomschrijving Deze organisatie gelegen in het hartje van Utrecht biedt grote (inter)nationale organisaties maatwerk oplossingen op het

Bekijk vacature »

Medior PHP Developer voor online solutions

Functieomschrijving Jij gaat als PHP developer een belangrijke bijdrage leveren aan het systeem. Jij gaat actief meedenken aan innovaties die het systeem naar een hoger plan gaat tillen. Deze innovaties ga je vervolgens implementeren en daar komt veel verantwoordelijkheid en vrijheid bij kijken. Ze zoeken iemand met een aantal jaren ervaring die zelfstandig aan de slag kan gaan die dezelfde ambitie en skills deelt om het succes verder uit te bouwen. Jij gaat hier voornamelijk werken aan de Back-end maar zal ook wel wat Front-end werkzaamheden op gaan pakken. Zoek je een functie waarbij je veel zelfstandigheid krijgt en aan

Bekijk vacature »

Java Developer

JAVA Developer – JAVA / Spring / DevOps / Scrum / RedHat NIEUWE VACATURE, JAVA DEVELOPER/CONSULTANT VOOR EEN AMBITIEUZE ORGANISATIE IN NOORD-BRABANT • Medior / senior level Java developer • Centrale en makkelijk te bereiken locatie • JAVA / Spring / DevOps / Scrum / RedHat • Goed salaris en winstdeling • Reageer door te bellen met 020-8004990 of mail naar gerjan.hofland@searchability.com Bron: @SearchabilityEU – uw 24/7 twitter-feed met de nieuwste IT-vacatures in heel Europa WIE ZIJN WIJ? De organisatie is gespecialiseerd in software-ontwikkeling met Java en opensource technologie. We ondersteunen klanten op locatie en werken graag volgens Agile, DevOps,

Bekijk vacature »

Microsoft BI ontwikkelaar binnen de financiël

Functieomschrijving Je gaat je als interne BI Specialist/Ontwikkelaar bezighouden met het doorontwikkelen/onderhouden van de Datawarehouse binnen een Devops/Scrum omgeving en het verbeteren van functionaliteiten voor interne klanten. Naast de Datawarehouse werkzaamheden ben jij tevens de specialist op het gebied van Microsoft SQL Server (SSIS, SSAS, SSRS, Power BI, DataVault en Dimensional modelling. Functie-eisen - Je hebt minimaal een HBO opleiding afgerond; - Je hebt minimaal 3+ jaar relevante werkervaring met een vergelijkbare functie; - Je beheerst de hele Microsoft BI Stack (SSIS, SSAS, SSRS); - Je beschikt over ruime ervaring met het programmeren van ETL processen; - Je beschikt over

Bekijk vacature »

Gezocht/Looking for: Senior .NET Developer - Rotte

Due to extensive growht of our client we are currently searching for a Senior Dot.Net Software Developer. This is for one of our clients in the digital data transformation domain. Vacature Details/ Vacancy Details Contract type: Fixed term contract Start datum/ Date of Joining: immediate (work from home during Covid-19 period) Werkervaring/experience required: Minimum of 6 years experience in a similar role (must have) Understanding of Azure DevOps (must have) Experienced in Agile/Scrum software development Deep understanding of C#, .NET, .NET Core, REST, Azure services(must have) Experience with Kubernetes or Azure Service Fabric Database knowledge (a.o SQL, CosmosDB) Pluspoints would

Bekijk vacature »

Noordoost Java Developer vacature

Java Developer Noordoost Word onderdeel van een topteam met ervaren Java Developers. Loop voorop in de ontwikkelingen en help mee innoveren. Focus op Java Wij bouwen State of the Art applicaties met de nieuwste Java technologie en frameworks. Dit doen we door ons te richten op de open source-oplossingen binnen de wereld van Java, alle nieuwe ontwikkelingen te volgen en onze kennis te delen binnen onze eigen Java Community. Dit betekent bijvoorbeeld dat we aanwezig zijn op veel conferenties; Oracle Code One, Devoxx en JFall. We organiseren ook onze eigen collegiale sessies en hackatons waar we kennis en plezier combineren.

Bekijk vacature »

Servicedesk medewerker

Ben jij een kei op het gebied van ICT? Vind je het leuk om de verschillende technische problemen van onze medewerkers op te lossen? En ben je op zoek naar een baan met veel afwisseling in een leuk team? Dan zij wij op zoek naar jou! Wij zoeken ter versterking van ons team ICT een: Servicedesk medewerker Voor 36 uur per week De zorg die geboden wordt kan niet meer zonder de ondersteuning van betrouwbare informatie- en automatiseringssystemen. Het is de belangrijke taak van het team ICT om dit te organiseren en de organisatie hierin te ondersteunen, zowel voor de

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Interne functie als Java ontwikkelaar bij fijne or

Functieomschrijving Je komt in een team van ontwikkelaars en samen ga je het bestaande product verfijnen en verbeteren. Er komt ook veel nieuwbouw bij kijken en steeds gericht op de applicaties die ze in de markt hebben staan. In je rol zal je van A tot en met Z betrokken worden bij het gehele ontwikkel proces. Ze zijn hier op zoek naar een ontwikkelaar die met een brede stack kan werken, bij voorkeur kan jij écht fullstack uit de voeten. Je zal verantwoordelijk zijn voor het uitwerken, implementeren, testen en uitrollen van de software. Er wordt hier volgens de Scrum

Bekijk vacature »

C# Developer /SaaS applicaties/MVC/ SQL/ 4.000 eur

Functieomschrijving Ben jij een .NET (C#) Developer wil werken in een IT-minded organisatie? Heb je kennis van MVC en SQL? Wil jij werken aan in-house ontwikkelde applicaties? Houd jij de nieuwste technieken in de gaten om het ontwikkelproces beter te laten verlopen? Lees dan snel verder! Nieuwbouw, onderhoud en bugfixing van de applicaties; Het produceren van code met een hoge kwaliteit; Hulp bieden aan jouw collega's met verschillende (complexe) technische kwesties; Kwaliteitsmonitoring van het gehele project, incl. de opgeleverde wijzigingen; Het waarnemen van verbetermogelijkheden en deze op de planning zetten. Functie-eisen Uitgebreide werkervaring met C#; Kennis van MVC en SQL;

Bekijk vacature »

Team Lead PHP

As Tech Lead, you make our customers smile by providing great software and building an effective team. How do I become a Team Lead PHP at Coolblue? As a Team Lead PHP you build and lead a team that excels in providing high-quality and cost-efficient software. You support team members in defining their goals and with the approach to achieve them. Would you like to become a Team Lead PHP at Coolblue? Else de Boer explains how to do that. You enjoy doing this Building and leading a team that excels in providing high quality and cost effective software. Support

Bekijk vacature »

C#.NET Ontwikkelaar/consultant

Functieomschrijving Ben jij een C# Developer die binnen een innovatieve, logistieke organisatie wilt werken? Vind je het interessant om jouw ontwikkelde software en code te koppelen aan complexe systemen en daarnaast de implementatie te begeleiden? Laat je horen! Je wordt onderdeel van de developers' club, van circa vijftien collega's, ofwel in een team van software developer waar jullie projectmatig aan de slag gaan met het ontwikkelen van software oplossingen voor klanten. Alle functionele requirements komen via consultants bij het software team terecht. Deze worden in een projectteam van minimaal twee software developers opgepakt, waar je vervolgens zelfstandig of samen 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

21/09/2020 17:48:02
 
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.