ebooks sorteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

PHP Developer Symfony

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail. Hier ga je werken Als PHP Developer kom je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

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 »

Software Programmeur

Functie omschrijving Voor onze opdrachtgever in omgeving Rotterdam zijn wij opzoek naar een software programmeur die goed kan schrijven in de talen C of C++ en die het leuk vind om te werken met Linux! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Bedrijfsprofiel Dit bedrijf wil de klanten een volledige oplossing kunnen bieden, waarbij ze een

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

20/04/2024 01:19:05
 
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.