Glem det. Efter fem en halv time blev den endelig færdig og hvad var outputtet? 90 linjer!!! Der skulle have været flere tusinde, men der må jo være en fejl i scriptet.
Som skrevet: Glem det! Grrr :-(
PHP er ikke den hurtigste når man skal arbejde med filer og mapper. og slet ikke når der er så mange.
Perl og bash er lynhurtige.Men igen, for at forsvare PHP, så afhænger det også hvordan man har skrevet koden. Måske er den måde koden er skrevet på, ikke optimalt til så mange filer/mapper.
Glem alt om PHP til den opgave der, det er ALT for langsomt bras til den slags, du skal have fat i Perl... Prøv at hent exiftool https://owl.phy.queensu.ca/~phil/exiftool/index.html - Install det, åben din terminal og skriv flg ' exiftool /path/to/folder ' - self uden de 2 '' ... Så kan du nøjes med at vente 3 sekunder og ikke 3 timer :) Men USB ? Hvilken ? For de kan godt være pænt sløve... Anyway PHP er useless til det der.... Den scanner hele den mappe du smider ind i terminal...
Ok, folkens. Det mit gamle script gjorde var at liste alle jpg-filer med deres dimensioner i px*px.
Jeg vil gerne at det virker på en overliggende mappe med under- og under-undermapper.
find ~/Desktop/ -name '*.jpg' -exec sips -g pixelHeight -g pixelWidth '{}' \;
hvis du gerne vil have gemt output i en fil...
find ~/Desktop/ -name '*.png' -exec sips -g pixelHeight -g pixelWidth '{}' \; > ~/Desktop/log.txt
Desktop?
Og hvor i scriptet skal det fedtes ind?
Oooops, jeg lagde ikke lige mærke til hvilken tråd jeg var i, sorry.
det er en kommando... du skriver det i terminalen som en kommando.
erstat "~/Desktop" med din sti, og så er det det.
find /Volumes/EKSTERN/DACOCD i mapper/ -name '*.png' -exec sips -g pixelHeight -g pixelWidth '{}' \; > ~/Desktop/log.txt
find: /Volumes/EKSTERN/DACOCD: No such file or directory
find: i: No such file or directory
find: mapper/: No such file or directory
Towle skrev:find /Volumes/EKSTERN/DACOCD i mapper/ -name '*.png' -exec sips -g pixelHeight -g pixelWidth '{}' \; > ~/Desktop/log.txt
find: /Volumes/EKSTERN/DACOCD: No such file or directory
find: i: No such file or directory
find: mapper/: No such file or directory
Fordi du har mellemrum i din sti. Prøv denne med anførseltegn
find "/Volumes/EKSTERN/DACOCD i mapper/" -name '*.png' -exec sips -g pixelHeight -g pixelWidth '{}' \; > ~/Desktop/log.txt
Hmmm, nu kommer der en hel stribe "Error: Error querying file"
Towle skrev:Hmmm, nu kommer der en hel stribe "Error: Error querying file"
Hmm, lugter lidt af manglende rettigheder. Kommandoen virker fint her. Prøv med lidt vold og sæt sudo foran.
(ps. En anden måde at håndtere mellemrum er escape dem enkeltvis med \ eller bruge 'er. f.eks.
find /Volumes/EKSTERN/DACOCD\ i\ mapper/ -name '*.png' -exec sips -g pixelHeight -g pixelWidth '{}' \; > ~/Desktop/log.txt
find '/Volumes/EKSTERN/DACOCD i mapper/' -name '*.png' -exec sips -g pixelHeight -g pixelWidth '{}' \; > ~/Desktop/log.txt)
Altså hvis du vil finde JPG billeder, så skal du stoppe med bare at copy/paste ting ind i din terminal og så trykke på knappen, men liiiiige læse hvad der står, især hvis man også bliver bedt om at benytte SUDO (STOP NU ALTSÅ) En dag går det galt...
Du kan starte med at udskifte .png til .jpg og så escape dine path...
Men igen, exiftool, er bygget til præcis dette formål... Syntes du skal kigge på det. istedet for at sidde og bruge flere døgn på noget så simpelt som det her, det gør alt det du sidder og prøver at genopfinde :)
MacBook-Pro:~ macbookpro$ find "/Volumes/EKSTERN/DACOCD i mapper/" -name '*.jpg' -exec sips -g pixelHeight -g pixelWidth '{}' \;
/Volumes/EKSTERN/DACOCD i mapper/apple-icon-152x152.jpg
pixelHeight: 152
pixelWidth: 152
/Volumes/EKSTERN/DACOCD i mapper/apple-icon-180x180.jpg
pixelHeight: 180
pixelWidth: 180
Her er forresten output fra exiftool.
macbookpro:~$ exiftool -R -s -ImageSize /Volumes/EKSTERN/DACOCD\ i\ mapper | sed $'s/========/\\\n/g'
/Volumes/EKSTERN/DACOCD i mapper/android-icon-36x36.png
ImageSize : 36x36
/Volumes/EKSTERN/DACOCD i mapper/apple-icon-180x180.jpg
ImageSize : 180x180
/Volumes/EKSTERN/DACOCD i mapper/Dobbelte/DACOCD 611-12 Gunnar Berg - Historical Recordings, Vol. 1/Soundfiles/611/android-icon-48x48.png
ImageSize : 48x48
/Volumes/EKSTERN/DACOCD i mapper/Dobbelte/DACOCD 611-12 Gunnar Berg - Historical Recordings, Vol. 1/Soundfiles/apple-icon-152x152.jpg
ImageSize : 152x152
5 directories scanned
4 image files read
macbookpro:~$
Jeg har downloadet programmet, men hvordan starter man det? Jeg kan ikke finde ud af dine eksempler.
Towle skrev:Jeg har downloadet programmet, men hvordan starter man det? Jeg kan ikke finde ud af dine eksempler.
Hvis det er installation af ExifTool, har du da læst Installing ExifTool - Macintosh OS X ??
Og starter programmet gør du ved at benytte de kommandoer som er blevet postet.
jeg ved ikke om 'exiftool' er en del af macos, som standard, men 'sips' er...
så det vil være bedst at bruge 'sips' til opgaven. da det vil virke på langt det fleste macos installationer. i min verden, skal man altid forsøge sig med de indbyggede værktøjer, og se om man kan skabe et workflow, før man kommer i gang med alternativer.
*nix/BSD systemer kommer med ret stor vifte af værktøjer der kan håndtere det fleste opgaver.