ebooks sorteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior / Medior Business Intelligence / Data Wareh

Junior / Medior Business Intelligence / Data Warehouse Developer Fluiconnecto Holdings B.V., Rotterdam Fluiconnecto Fluiconnecto is a leading international service organization, focused on high pressure fluid connectors, providing products and application knowledge, as well as maintenance services, from OEM to End-Users in all market segments, through a global network tailored to local conditions. Fluiconnecto’ s services are made available at the customer’s doorstep in 5 continents, through a network of OEM Assembly Plants, Hydro-shops, On-site Workshops and Service On-site Vans. Fluiconnecto is a young company with ambitious goals, and it has created an environment in which energetic, highly professional resources

Bekijk vacature »

Front-End Software Developer

You are a talented Front-End Software Developer who is motivated to combine the art of design with the art of programming. Bedrijfsomschrijving We believe in a bolder future. An open world where people, businesses and capital can move freely to form a truly global marketplace. A world wherein each business idea and personal belief can reach its full potential whilst at the same time respecting local customs, traditions and laws. We support ideas, ambitions, growth and acceleration, because we truly believe the potential of globalisation for businesses and professionals is unlimited. As a corporate & fund service provider, we guide

Bekijk vacature »

Magento Specialist PHP

Wie wordt jouw werkgever?: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Deze werkgever is een handelsmaatschappij en leveren installatiematerialen. Ben jij een ambitieuze Magento Specialist? Heb je veel kennis van Linux servers? Vaste baan: Magento Specialist PHP Linux 2.600 - 3.700 Magento Specialist Deze werkgever is een (inter)nationale handelsmaatschappij, gespecialiseerd in het leveren van installatiematerialen voor c.v., gas, sanitair en pvc onderdelen. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Zij werken in een

Bekijk vacature »

Developer ERP

"Door digitalisering creëren wij een verantwoord woon- en werkklimaat, nu en in de toekomst - voor iedereen." Wil jij software maken die onze klanten het werk gemakkelijker maakt en wil jij jezelf continu blijven ontwikkelen? Haal jij energie uit het werken op internationaal niveau? Zoek jij jouw uitdaging binnen een professionele organisatie met een informele sfeer? Dan zijn wij op zoek naar jou! Ben jij ook op zoek naar Aareon? Developer ERP Ons aanbod Wat we jou bieden als developer binnen Aareon hebben we hieronder voor jou op een rijtje gezet. We bieden jou allereerst uitdaging en fijne collega’s. Daarnaast

Bekijk vacature »

JavaScript Frontend Developer HTML

Bij welk bedrijf je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij bouwen digitale platformen. Wil jij werken als Frontend Developer? Heb jij ervaring met HTML? Vaste baan: JavaScript Frontend Developer HTML CSS 3.000 - 4.200 Frontend Developer Samen met de klant ontwikkelen wij de mooiste websites, die makkelijk vindbaar zijn. Zij werken voor MKB bedrijven en het grootbedrijf. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art technologie en lopen daarin voorop. Wil jij de diepte in

Bekijk vacature »

C# .NET Core Developer

In brief As a C# .NET Core developer you will work within our Transport and Logistics business unit on complex custom software for business critical systems within technical automation. For example, an IoT solution for the logistics sector in which we process the telemetry and events of over 200,000 machines. We are active in distribution logistics, port logistics and production logistics. Besides C# and .NET Core, we also use Azure technology. And as a proud Microsoft Gold Partner, we like to learn from and with you.Please note that Dutch language skills are mandatory for this position. This is what you

Bekijk vacature »

3rd line Application Support Analyst

FLEETCOR is a leading global provider of corporate payment products to over 800,000 businesses around the world, from North, to Europe, Africa and Asia. FLEETCOR is one of the 250 fastest growing companies in the world in Forbes prestigious annual rankings. We have developed an extremely successful and innovative company based on our core principles; determination, drive, industry leading products, and quality people. We operate across over 30 brands globally including Travelcard in the Benelux. For the role of 3rd line Application Support Analyst we are seeking someone to join the WCE IT team. You will be working from our

Bekijk vacature »

Senior Full Stack Java Developer

Functieomschrijving Ben jij een ervaren Full Stack Java Developer en op zoek naar een internationale, creatieve en innovatieve omgeving? Wil jij werken aan een klanten portaal, waarbij de verschillende diensten vanuit de business via het web portaal worden geleverd aan de klanten van Randstad Groep Nederland? Bij Randstad Groep Nederland (HQ) zijn we op zoek naar jou! Wij zijn op zoek naar een Full Stack Java Developer die per direct ons interne team komt versterken. Full Stack Java Development bij Randstad Groep Nederland (HQ) Jij werkt in het Online Client Solutions team. Dit team werkt samen met de product owner

Bekijk vacature »

Sr Outsystems Ontwikkelaar ERP Javascript C#

Wie wordt jouw werkgever?: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij ontwikkelen ERP systemen. Ben jij een gedreven Outsystems Ontwikkelaar? Heb je kennis van C#? Vaste baan: Sr Outsystems Ontwikkelaar ERP C# 3.500 - 4.200 Senior Outsystems Ontwikkelaar Wij ontwikkelen ERP systemen voor bouworganisaties. Dit doen zij tegen de hoogst mogelijke kwaliteit. Werken bij ons betekent werken in een start-up omgeving met veel groei mogelijkheden. Doorleren wordt op prijs gesteld en gefaciliteerd. Daarbij geven we jou veel verantwoordelijkheden en mogelijkheden om eigen initiatieven uit te voeren. Bij bij

Bekijk vacature »

C# .Net Ontwikkelaar ASP.NET

Wie wordt jouw werkgever?: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij ontwikkelen software volledig gericht op de sportwereld. Ben jij een C#.Net Ontwikkelaar? Heb jij ervaring met ASP.NET? Vaste baan: C# .Net Ontwikkelaar ASP.NET MVC 3.100 - 4.300 C# .Net Ontwikkelaar Deze werkgever is het bedrijf achter de grootste Tennis-Badminton-Squash portal van Nederland. Wij ontwikkelen software volledig gericht op de sportwereld. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van

Bekijk vacature »

Zaandam zoekt Fullstack .NET Developer

Bedrijfsomschrijving Deze organisatie is een specialist in het optimaliseren van bedrijfsprocessen voor haar eindklanten, dit doen ze onder andere door het aanbieden van speciaal ontwikkelde bedrijfssoftware. In de rol die je hier gaat vervullen als Software .NET Developer ga je je bezig houden met het ontwikkelen van deze software, dit doe je in overleg met de klant en op basis van de wensen die zij uitspreken. Bij deze organisatie word je vervolgens vrijgelaten om te experimenteren met nieuwe concepten en nieuwe technieken, dit alles om ervoor te zorgen dat de klant voorzien is van innovatieve software die naadloos aansluit bij

Bekijk vacature »

Back-end Ruby ontwikkelaar

Zoek jij een baan in een unieke branche? Ligt jouw passie bij het ontwikkelen van Back-end Ruby applicaties en wil je in een leuk team werken? Dan past de functie van Back-end Ruby ontwikkelaar perfect bij jou. Ter ondersteuning van de afdeling Engineering zijn wij op zoek naar een Back-end Ruby ontwikkelaar voor 40 uur per week. Back-end Ruby ontwikkelaar Wat ga je doen? Je bent verantwoordelijk voor het ontwikkelen en onderhouden van casino systemen in de cloud. Je komt te werken in een team met een zeer brede kennis van ontwikkelen. Denk hierbij aan Hardware, Front-end, Back-end ontwikkeling in

Bekijk vacature »

Lead Developer .NET Software Marketing

Bij welk bedrijf je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij helpen bedrijven digitaal vooruit. Wil jij werken als Lead Developer? Heb jij meerdere jaren Front-end of Back-end ervaring? Vaste baan: Lead Developer .NET Software Marketing .NET 3.700 - 5.000 Lead Developer Deze werkgever levert online marketing- en communicatieoplossingen en maatwerksoftware. Wij houden van een informele werksfeer met uitstekende teamspirit. Het verschil binnen de branche willen wij maken met winnende, innovatieve technologie en door een zeer betrokken, betrouwbare en klantgerichte ICT-partner te zijn voor deze klanten.

Bekijk vacature »

Fullstack Developer GUI Linux

Bij welk bedrijf je gaat werken: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Deze werkgever is de leider in intelligente signaleringssoftware voor o.a. 2G/3G, 4G/LTE, 5G netwerken. Ben jij een fullstack developer? Heb je ervaring met o.a. HTML en CSS, UI/UX design, JavaScript, Typescript, React, Go en PHP? Vaste baan: Fullstack Developer GUI Linux HTML CSS 3.000 - 4.500 Fullstack Developer Wij ontwikkelen intelligente software voor 4G / 5G, WiFi en andere complexe netwerken. Het gaat om software producten voor routing, security en interworking. Toe aan een mooie, nieuwe

Bekijk vacature »

C++ Ontwikkelaar Software Game Media

Over het bedrijf: WR zoekt voor een vaste medewerker voor de volgende werkgever, je treedt gelijk in dienst bij deze werkgever: Wij creëren operationele efficiëntie in de industrie voor zwaar materieel en goederenbehandeling. Ben jij geschikt als C++ Developer? Heb je ervaring met Visual Studio? Vaste baan: C++ Ontwikkelaar Software Game Media HBO 3.300 - 4.900 C++ Ontwikkelaar Deze werkgever is software ontwikkelaar van simulatie software voor de offshore. Onze klanten gebruiken onze simulatoren voor training en het oefenen van complexe handelingen, projectvoorbereiding, procedurevalidatie en ook remote handling en control. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je

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

27/05/2022 21:37:08
 
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.