ebooks sorteren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Junior Front end developer

Functie Jij als developer gaat ons helpen onze producten verder te ontwikkelen en in te zetten in de markt. Op dit moment bestaat ons SaaS product uit 3 componenten die zowel los als in een pakket gekocht kunnen worden. Het gaat hier om een online kaartapplicatie, een workflow tool en een monitoring tool. Momenteel zijn wij 3 jaar geleden gestart met de ontwikkeling. De tech-stack waarmee we werken is voornamelijk Javascript, Vue.js en Python. Daarnaast gebruiken wij FaundaDB als database en werken we veel met GIS applicaties. De uitdaging die we momenteel hebben is dat we momenteel een intern team

Bekijk vacature »

Full Stack C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Delphi developer

Functie Als Delphi developer ga jij aan de slag in een team met twee andere ervaren Delphi programmeurs waaronder de Hoofd programmeur. Als team zijn jullie verantwoordelijk voor de doorontwikkeling van jullie bestaande applicatie. Daarnaast zijn jullie verantwoordelijk voor het onderhouden van deze applicatie en het oplossen van eventuele bugs. Eisen - HBO werk en denk niveau; - Minimaal één jaar ervaring met Delphi; - Goede beheersing van de Nederlandse taal in woord en geschrift; - Jij bent zelfstandig, maar kan ook in team verband werken. Aanbod - €3000,-- €4000,- op basis van jouw kennis en ervaring; - 8% vakantiegeld;

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

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

29/03/2024 08:45:45
 
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.