Copia automatica file tra due cartelle + audio
Autor: Michele M.Ho due cartelle associate al menu, che vengono popolate con file giornalieri:
1a cartella: https://www.homilyvoice.it/vangelo-del-giorno.html
tipi di file 20221206.VDG.docx e 20221206.VOCE.mp3
2a cartella: https://www.homilyvoice.it/meditazioni-dalla-liturgia-del-giorno.html
tipi di file: 20221206.SCRITTO.docx e 20221206.VOCE.mp3
Come si vede il file audio è identico; i file di testo sono già presenti nelle due cartelle, mentre quelli audio mi arrivano a gruppi di 2 o più giorni e devo caricarli in entrambe le cartelle. Purtroppo mi capita di dimenticare di caricarli nella 2a e creo un disservizio.
Vorrei sapere se è possibile creare un automatismo che prelevi i file audio dalla 1a cartella e li copi nella 2a, e che si attivi magari quando un visitatore clicca sulla voce di menu della 2a cartella o in qualsiasi altro modo, p.es. ad un orario predefinito di ogni giorno.
Grazie.
1) ...!... non c'entra con il programma, trattandosi di pagina EXTRA esterna al progetto;
2) ...!... usi il formato Word, non adatto al web, e poco condivisibile direttamente nel browser; ...nel caso e secondo me, andrebbe accoppiato ad un Viewer, (M$officeApps, GoogleDocViewer), ...per non dire che sarebbe molto più indicato l'uso in formato HTML, parlando di web ovviamente;(*)
3) ...!... hai usato impropriamente il collegamento diretto al file mp3, che invece andrebbe usato nel PlayerHTML5;(*)
4) ... invece per la condivisione del file mp3 con le due pagine è semplice, e può essere unico in unica cartella per ambedue le pagine, semplicemente differenziando il solo collegamento (relativo o assoluto che sia)...
... oppure, ancora più semplice, ...mettere le due pagine nella stessa cartella...
...
... (*) ... se il tuo scopo è solo quello del download, allora ignora i punti 2) e 3) ...
.
Autor
Ciao KolAsim, grazie per la risposta. Questo metodo mi è utile perché chi scrive i file li pubblica con Filezilla e diventano immediatamente fruibili. Come hai già immaginato sono file messi a disposizione per il download e non per la lettura/ascolto on line.
Il suggerimento del punto 4 è buono, ma dovrei capire come applicarlo, mi spiego:
Non posso mettere i due tipi di file docx assieme perché si crea confusione, potrei mettere i file mp3 in una cartella separata, ma poi dovrei capire come aggiungere il percorso ai due file php delle due cartelle contenenti i file docx. Attualmente ognuna delle due cartelle è letta da un proprio file php contenente il percorso, p.es.:
$dir_to_browse = "./public/Meditazioni dalla Liturgia del giorno/";
Se sposto i file mp3 in una terza cartella (ho provato con "File Audio", dovrei modificare questa riga in modo da riuscire a leggere due percorsi diversi; ho provato banalmente con
$dir_to_browse = "./public/Meditazioni dalla Liturgia del giorno/" & "./public/File Audio/";
ma mi dà errore.
Meglio ancora per me sarebbe poter leggere i file mp3 lasciandoli nella cartella originale "./public/Vangelo del Giorno/" ma filtrandoli in modo da vedere solo i file mp3 e non i file docx.
Se esiste un modo per applicare una delle due soluzioni risolverei il problema alla perfezione.
Grazie per l'aiuto.
... se metti gli mp3 nella cartella "public", per i collegamenti "indvdg.php" dalla cartella "Meditazioni dalla Liturgia del giorno/" puoi lasciare invariato;
... invece per i collegamenti dalla "indvdg.php" dalla cartella "Meditazioni dalla Liturgia del giorno/" ...puoi provare con:
"../../public/eccetera"
... oppure per non fare confusioni e più semplice, puoi usare lo stesso unico collegamento assoluto, per esempio:
https://www.homilyvoice.it/public/Vangelo%20del%20Giorno/20221117.VOCE.mp3
https://www.homilyvoice.it/public/Meditazioni%20dalla%20Liturgia%20del%20giorno/20221211.VOCE.mp3
... altrimenti bisognerebbe tentare ricorrendo al codice EXTRA...
.
ciao
.
Autor
Buongiorno, i file indvdg.php e indmed13.php aprono ognuno un proprio file config.php che contiene il percorso da leggere, mediante l'istruzione:
$dir_to_browse = "./public/Meditazioni dalla Liturgia del giorno/" (per indmed13.php)
e
$dir_to_browse = "./public/Vangelo del Giorno/" (per indvdg.php)
quindi sono gestiti in modo separato a tutti gli effetti.
Però ora mi sto rendendo conto che la una cosa è complicata dal fatto che si stratta di 365/6 file all'anno che vengono mensilmente archiviati in cartelle 2022-2021-2020 ecc.
Ho provato a mettere dei file in pubblic, sia nella rotto che in una cartella apposita, ma vengono ignorati, quindi temo che serva proprio del codice. I file dovrebbero restare fisicamente nella cartella "Vangelo del Giorno" e bisognerebbe modificare la $dir_to_browse = "./public/Meditazioni dalla Liturgia del giorno/" in modo da poter leggere anche il percorso "./public/Vangelo del Giorno/", però estrapolando successivamente solo i file mp3 e non i docx. Però io non sono riuscito ad aggiungere questo secondo percorso.
Grazie sempre.
... sono fuori casa...
... ci si potrebbe provare in EXTRA, se poi riesce sarà un bel lavoro......
... intanto in HEAD nelle due pagine php esterne che avevo visto nei tuoi link, metti la libreria jQuery, per esempio puoi incollare questa stringa:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
... oppure puoi mettere quella stessa del programma già presente nel tuo sito:
<script src="https://www.homilyvoice.it/res/jquery.js?2022-2-4-0"></script>
...
... in serata sul tardi, o domani, proverò a controllare la situazione e poi ti farò sapere...
.
ciao
.
Autor
Ho messo la riga:
<script src="https://www.homilyvoice.it/res/jquery.js?2022-2-4-0"></script>
in "prima della chiusura del tag HEAD" di entrambe le pagine php. Quando ti è possibile poi mi darai altre indicazioni. Grazie mille!
Ciao.
... ho controllato, ...ed in nessuna delle tue pagine in rete risulta inserita la stringa dello script jQuery...
... qundo lo farai, avvisami; ... ormai tornerò qui domani in giornata...
ciao
.
Autor
Ciao KolAsim, io l'avevo fatta l'operazione, ma ora mi rendo conto che avevo capito male, avevo messo la riga nelle due pagine html, all'interno del progetto, invece probabilmente ti riferisci a: indvdg.php (lanciata da vangelo-del-giorno.html) e indmed13.php (lanciata da meditazioni-dalla-liturgia-del-giorno.html).
Ho aperto questi due file e subito sotto il tag <head> ho aggiunto:
<script src="https://www.homilyvoice.it/res/jquery.js?2022-2-4-0"></script>
Ora aprendo le due pagine dal menu e facendo "visualizza sorgente frame" le righe si vedono, spero di aver fatto giusto questa volta, scusami e grazie.
... ho visto, adesso lo script è OK, ... infatti mi ero riferito alle pagine php esterne, quelle importate in iframe...
... rivedendo i tuoi post, penso che per gli audio potresti assegnare nel codice PHP una cartella comune, per esempio "lettureaudio", in questo modo:
$dir_to_browse = "./lettureaudio/";
... potresti fare una prova a conferma...
......................................
... poi, per quanto riguarda la mia idea per il codice EXTRA, ...prendendo come riferimento la pagina esterna indvdg.php:
1)... si potrebbe ottenere l'ascolto del brano audio aggiungendo dinamicamente un player con il mio codice EXTRA incorporandolo dinamicamente nella stessa pagina...
2) ... ed anche per il file word si potrebbe ottenere la lettura del testo direttamente in un finestra del browser con il mio codice EXTRA per integrare il M$Viewer per la massima compatibilità...
... penso che per il tuo visitatore poter leggere ed ascoltare direttamente si meglio di dover scaricare, cosa che comunque potrebbe sempre essere fatta...
...
... adesso controllerò la situazione, fermo restando quella attuale per la pagina indvdg.php, e poi ti faro sapere cosa fare riferimento a .1) e .2)...
.
ciao
.
... OK, ...ho visto che qualcosa si può ottenere e vedrai che poi il mio codice esclusivo ti stupirà...
... ti anticipo qualcosa:
1) ... l'apertura diretta in seconda pagina del file docx, come quella che vedi >> qui...
2) ... il player incorporato per ascoltare gli mp3 sulla stessa pagina:
.
Autor
Non so come ringraziarti, spero di riuscire a fare tutto seguendo le tue istruzioni, sarebbe fantastico fornire questo servizio extra. Potrò metterci mano domenica.
Al momento ho un dubbio riguardo l'estrapolazione dei file mp3 inseriti in una cartella separata. Le pagine php esterne puntano già ai rispettivi percorsi dei file, se aggiungo una ulteriore riga col nuovo percorso poi mi legge gli mp3 ma non vede più i docx. Non so come fornire i due percorsi assieme.
... prima ho dovuto interrompere, son dovuto uscire, e ritornerò qui domani...
... comunque, con il mio codice, indipendentemente dal costrutto originale dei tuoi codici, potrebbe essere possibile personalizzare o by-passare i percorsi in uso...
... domani in giornata, appena sarò libero, spero di postarti il mio codice...
.
... OK ...codice originale per pagina indvdg.php ...
... per sezione /HEAD a seguito del precedente script jQuery...
<!-- controllo LINK esclusivo by KolAsim - inizio -->
<script>
$( document ).ready(function() {//K>>>
/**===script esclusivo by KolAsim===**/
urlWordK="https://view.officeapps.live.com/op/embed.aspx?src=https://www.homilyvoice.it/public/";
urlaudioK="https://www.homilyvoice.it/public/Vangelo%20del%20Giorno/";
ritardoK = 3; // secondi di ritardo da valutare
//------------------------------------------------------------K
audioK='<audio id="audioK" autoplay controls src="" type="audio/mpeg" style="position:fixed;top:23px;left:-110px;margin-left:50%;width:200px;padding:10px;background-color:lavender;border:solid 1px navy;border-radius:10px"></audio>'+
'<span id="branoK" style="position:fixed;top:33px;left:115px;margin-left:50%;;padding:5px;background-color:beige;border:solid 1px navy;border-radius:5px;font-size:16px"> brano mp3 </span>';
setTimeout(function(){ //K1>
$("body").append(audioK); },1000); //K1<<
setTimeout(function(){ //K2>
AncoreK() ; }, ritardoK*1000); //K2<<
}); //K<<<<
function AncoreK() {//K3>>>
KK = $('td a');linkK=[];K = $('a').parent();
for( i = 0, TotK = K.length; i < TotK; i++){ //K4>
if($(K[i]).text().indexOf("VDG.docx") != -1) { //K5
$(K[i]).html($(K[i]).html().replace('./public/', urlWordK ));
$(K[i]).children().attr("target","top");
} //K5<<
if($(KK[i]).text().indexOf("VOCE.mp3") != -1) { //K6>
linkK[i] = String(urlaudioK + $(KK[i]).text() ) ;
$(KK[i]).attr("href","javascript:linktextK("+"\""+linkK[i]+"\" )");
} //K6<<
} //K4<<
} //K3<<<<
function linktextK (link_K ) { //K7>>>
$("#audioK").attr("src",link_K);var nomeK = link_K.split('/');var nomeK = nomeK[nomeK.length - 1];
var nomeK = ' <a style="font-size:16px;text-decoration:none; color:navy;cursor:pointer" href="' +link_K + '"download alt="scarica MP3" title="scarica MP3">' + nomeK +' </a>' ;
$("#branoK").html(nomeK);
} //K7<<<<
//------------------------------------------------------------K
</script>
<!-- controllo LINK esclusivo by KolAsim - fine -->
.
Autor
Ciao KolAsim, ho provato il tuo codice sulle due pagine, riscontro queste situazioni:
Se apro la pagina e clicco direttamente su un file di testo lo scarica come faceva prima; se invece eseguo prima un file audio subito dopo i file si aprono in una pagina separata, per la lettura on-line.
I file audio eseguiti dal lettore sono scaricabili, mentre i file docx, se vengono aperti col lettore non hanno un'opzione di download, o forse non la vedo io.
Una volta risolte queste cose vorrei implementare il tuo codice in tutte le altre pagine a frame, ma dove non ci sono file mp3, come faccio a disabilitare il lettore?
Infine resta il problema iniziale: fare in modo che io possa lasciare i file audio solo nella cartella Vangelo del Giorno e riuscire comunque a vederli anche nelle Meditazioni, oppure metterli in una cartella diversa e vederli poi su Vangelo e Meditazioni, si può fare in qualche modo?
Grazie davvero per l'aiuto.
... per poter io nuovamente valutare, devi togliere il mio codice, ...avvisami, ...e poi ti farò sapere...
.
ciao
.
... prova anche nel php:
$dir_to_browse = "./public/";
... o:
$dir_to_browse = "././public/";
.
Autor
Se cambio così i percorsi poi il frame mi legge tutte le cartelle che sono in public e non va bene.
Il tuo codice l'ho tolto, ora il sito è come prima. Grazie.
... OK ... e allora, per semplificare, ho ridotto la mia invenzione al solo controllo del percorso dei files MP3, ... che in definitiva era quello che chiedevi tu, ripulendo di tutti gli altri extra accorgimenti che non ti interessano...
... nel codice è applicato un ritardo di 3 secondi (da valutare) per permettere ai contenuti della pagina di essere caricati prima dell'attivazione del codice, tramite assegnazione nella variabile:
ritardoK = 3; // secondi di ritardo da valutare
... invece il percorso per i files MP3 viene assegnato nella variabile urlaudioK:
urlaudioK="https://www.homilyvoice.it/public/Vangelo%20del%20Giorno/";
... ... ...
... quindi, se per esempio tu metti tutti i files MP3 nella stessa cartella in ROOT nominata per esempio "audioletture", ti basta modificare il percorso nella variabile urlaudioK in questo modo:
urlaudioK="https://www.homilyvoice.it/audioletture/";
....
.... ecco a seguire il nuovo codice semplificato:
....
.
<!-- controllo LINK esclusivo by KolAsim - inizio -->
<script>
$( document ).ready(function() {//K>>>
/**===script esclusivo by KolAsim===**/
urlaudioK="https://www.homilyvoice.it/public/Vangelo%20del%20Giorno/";
ritardoK = 3; // secondi di ritardo da valutare
//------------------------------------------------------------K
setTimeout(function(){ //K2>
AncoreK() ;
$('#loaderK').hide();
}, ritardoK*1000); //K2<<
}); //K<<<<
function AncoreK() {//K3>>>
KK = $('td a');linkK=[];xxx=[];K = $('a').parent();
for( i = 0, TotK = K.length; i < TotK; i++){ //K4>
if($(KK[i]).text().indexOf("VOCE.mp3") != -1) { //K5>
linkK[i] = String(urlaudioK + $(KK[i]).text() ) ;
$(KK[i]).attr("href","javascript:linktextK("+"\""+linkK[i]+"\" )");
} //K5<<
} //K4<<
} //K3<<<<
function linktextK (link_K ) { //K6>>>
//alert( link_K) ; // controllo mp3
location.href = link_K;
} //K6<<<<
//------------------------------------------------------------K
</script>
<!-- controllo LINK esclusivo by KolAsim - fine -->
.
... in +, ... volendo e se ti interessa, ....per non far cliccare sui link mp3 prima del tempo assegnato in ritardoK, si potrebbe integrare il mio preloader dinamico...
.
... in più, ... volendo e se ti interessa, ... ho notato che le pagine php vengono elaborate sul tuo stesso server, ...pertanto potresti integrare anche un dei tanti codici che trovi cercando in rete per estendere l'iframe per tutta l'altezza del proprio contenuto, ...dipenderà da te...
.
Autor
Ciao, scusami, probabilmente mi sono perso io. Ho fatto questa prova: ho modificato il solo file indmed13.php (che punta alla pagina Meditazioni...) aggiungendo il tuo nuovo codice (il precedente era già stato eliminato). Io mi aspettavo:
1) visualizzazione nel frame "Meditazioni...." dei file mp3 presenti nell'altra cartella "Vangelo del Giorno" (per prova ho caricato nella cartella "Vangelo...." il file 20231213.VOCE.mp3) --> no
2) funzionamento del lettore audio cliccando sui file mp3 visualizzati (ma mi mostra solo quelli fisicamente presenti nella cartella "Mediatzioni..." --> sì
2) apertura in altra pagina dei file docx --> no, va direttamente in download, come sempre (ho fatto anche la prova ad eseguire prima un file audio come facevo ieri, ma niente)
Vorrei sapere se ho capito male io o se c'è qualcosa che andrebbe sistemata, però solo se vale come test anche per te, mi dispiace se devi perdere troppo tempo.
Attualmente il file indmed13.php contiene il tuo nuovo codice, mentre il file indvdg.php è quello originale.
... il vecchio codice lo hai tolto solo in indvdg.php, il file di riferimento, ... e non vedo applicato l'ultimo, ...quello per il solo controllo audio, ...che è quello che ti interessa...
....................................................
... in indmed13.php c'è il vecchio codice che abbiamo detto di escludere e quindi non considerare più per non fare confusioni...
... comunque, solo per per tua soddisfazione, i testi in indmed13.php non possono funzionare perchè si chiamano [SCRITTO.docx] e non [VDG.docx], che nel caso si sarebbe dovuto assegnare nella condizione indicta in "//K5", ...attualmente al rigo 24 del codice sorgente della pagina (Ctrl+U)...
...
... nel caso eventualmente ci risentiremo domani...
.
Autor
Sulla questione SCRITTO/VDG hai ragione, ho dimenticato di modificarlo, come avevo fatto sul vecchio codice; ma a parte questo sono sicurissimo di aver inserito in indmed13.php il nuovo codice, mentre indvdg.php, come avevo scritto alla fine del post, è quello mio originale, senza il tuo codice.
Per scrupolo ho incollato i due codici in due diversi file di word e ho eseguito il confronto automatico, e mi dice che sono assolutamente identici. Grazie sempre, a domani.
... in indvdg.php hai tolto solo il vecchio codice, ... ma non vedo applicato il secondo semplificato...
... inizialmente per non fare confusioni, prova sempre in indvdg.php ... e poi si potrà approfondire per le altre pagine...
... il codice da provare sarebbe questo:
<!-- controllo LINK esclusivo by KolAsim - inizio -->
<script>
$( document ).ready(function() {//K>>>
/**===script esclusivo by KolAsim===**/
urlaudioK="https://www.homilyvoice.it/public/Vangelo%20del%20Giorno/";
ritardoK = 3; // secondi di ritardo da valutare
//------------------------------------------------------------K
setTimeout(function(){ //K2>
AncoreK() ;
$('#loaderK').hide();
}, ritardoK*1000); //K2<<
}); //K<<<<
function AncoreK() {//K3>>>
KK = $('td a');linkK=[];xxx=[];K = $('a').parent();
for( i = 0, TotK = K.length; i < TotK; i++){ //K4>
if($(KK[i]).text().indexOf("VOCE.mp3") != -1) { //K5>
linkK[i] = String(urlaudioK + $(KK[i]).text() ) ;
$(KK[i]).attr("href","javascript:linktextK("+"\""+linkK[i]+"\" )");
} //K5<<
} //K4<<
} //K3<<<<
function linktextK (link_K ) { //K6>>>
//alert( link_K) ; // controllo mp3
location.href = link_K;
} //K6<<<<
//------------------------------------------------------------K
</script>
<!-- controllo LINK esclusivo by KolAsim - fine -->
.
Autor
Buonasera KolAsim, ora ho rimesso indmed13.php originale (senza il tuo codice) e indvdg.php col tuo nuovo codice. Quando puoi mi fai sapere. Grazie.
ciao, ... ho visto e provato, ... funziona secondo aspettative e da tua iniziale richiesta ...praticamente hai raggiunto il tuo scopo...
... quindi, se vuoi usare lo stesso MP3 comune in pagine diverse, basta mettere per esempio i files MP3 nella stessa cartella in ROOT nominata per esempio "audioletture", e modificare il percorso nella variabile urlaudioK in questo modo:
urlaudioK="https://www.homilyvoice.it/audioletture/";
.........................................................
... secondo me però per come la vedo io, sarebbe meglio o almeno preferirei la mia invenzione con preloader, player audio attivo, (visibile - non visibile), ed il viewer word, ...senza così costringere il visitatore a scaricare per sapere di cosa si tratti......
... se dovesse interessarti ancora, avvisami...
.
ciao
.
Autor
Ciao, ben venga ogni miglioria, ma per il momento devo concentrarmi sul primo risultato, visto che probabilmente non ho capito io qualcosa.
Ho inserito nei due file php il nuovo codice col percorso urlaudioK="https://www.homilyvoice.it/Audio/";
Ho spostato i file audio nella nuova cartella Audio creata sotto root, ma ora nelle due pagine vedo solo i rispettivi file docx.
Poiché sono pagine molto visitate ho dovuto ripristinare i file audio, però ho lasciato i php modificati e la cartella Audio con alcuni file datati 2023, in modo da poter fare delle prove. Teoricamente si dovrebbero vedere sia i file della cartella originale (letti dal codice originale dei file php) che quelli della cartella audio (letti dal tuo codice) o no?
.. OK ... funzionano, sia indvdg.php che indmed13.php, infatti,
... sia nel primo php che nel secondo per il file 20221218.VOCE.mp3 si apre questa pagina errore 404:
https://www.homilyvoice.it/Audio/20221218.VOCE.mp3
...!... ciò vuol dire che ha funzionato, ma il file 20221218.VOCE.mp3 non esiste nella cartella Audio...!...
.
ciao
.
Autor
Sì, hai ragione, ma il problema è che se io tolgo i file dalle due cartelle e li metto in Audio, poi il frame non me li mostra, quindi come faccio a selezionarli ed ascoltarli. Per farti una dimostrazione io ora ho tolto i file mp3 dalla cartella Meditazioni e li ho copiati in Audio, assieme a quelli messi per prova; ho lasciato indmed13.php com'è attualmente, se apri la pagina vedrai che nel frame appariranno solo i file docx.
... pare che la tua pagina indmed13.php legge lato server i files mp3 che cono presenti fisicamente nella cartella che hai indicato nel codice PHP...
... in pratica penso, che se il file mp3 non c'è non te lo fa vedere nella lista...
... il mio codice invece permettere di usare percorsi diversi per come hai notato, ma la lista dei collegamenti deve esserci ed il file deve essere lì dove si indica...
... penso che devi provvedere via PHP ad unificare nella stessa cartella differenziando i percorsi per le varie pagine php, ...cioè, se è possibile, dovrebbe bastare di indicare la stessa cartella comune partendo dalla radice del sito, ...ma il controllo del php non visibile in chiaro lo puoi fare solo tu...
...
... quindi stando le cose come stanno, il mio codice non ti serve più...
(...se non solo nel caso di voler applicare il player ed il viewer EXTRA...)
.
ciao
.
Autor
Mi spiace di averti fatto perdere tutto questo tempo
Avrei usato la prima versione del tuo codice, ma c'era il problema che il viewer dei docx funzionava solo dopo aver eseguito almeno un file mp3; non so se avevi avuto modo di riscontrare questa cosa, se vuoi verificarlo (ma per te, non necessariamente per me) puoi provare su indvdg.php dove ho rimesso la prima versione del tuo codice.
Intanto ho ripristinato allo stato originario indmed13.php ma vedo che comunque i file mp3 a me li apre in un lettore audio che copre tutto il frame e mi dà anche la possibilità di scaricarli, quindi forse questa funzione è già implementata all'origine, io non ci avevo mai fatto caso.
Grazie davvero di tutto.
... ok, l'audio ti può funzionare in alcuni browser, ma non è regolare e non va bene usare il link diretto al file mp3, non sempre condivisibile, ed in genere lo si fa per permetterne il download; ...in pagine WEB a regola occorre usare il player HTML5...
... ho visto adesso indvdg.php in cui hai rimesso il vecchio codice, e funziona sia il player che il viewer...
,.. adesso è ormai tardi, ...ma domani in giornata cercherò di postarti un variante della mia invenzione con funzioni che avevo accennato prima:
1) ... integrazione del mio preloder con applicato un certo ritardo da valutare sulla latenza della pagina...
2) ... player audio fluttuante e visibile solo se c'è mp3 ed al click sul file mp3, con "▼" per il download e "●" per lo stop/chiusura...
3) ... viewer per word in seconda pagina, come hai già visto;
... ... ... te ne faccio vedere un anticipo in simulazione grafica:
.
Autor
Va bene, ora ho capito la questione mp3. Non so se hai notato anche tu in indvdg, se apri la pagina e come prima operazione selezioni un docx, parte il download invece della visualizzatore. Grazie ancora.
... forse hai cliccato su docx prima dei 3 secondi di ritardo impostati in ritardoK...
... nel prossimo codice ti inserisco il mio preloader, ove i secondi di ritardo andranno sempre valutati in base alla possibile latenza della pagina php...
...
.
Autor
Sì hai ragione, ora ho verificato, se clicco prima dei 3 secondi va in download altrimenti funziona, nel caso potrei tranquillamente diminuire il tempo nel codice attuale, ma credo che se li hai previsti debba esserci una ragione ben precisa.
... con questo mio nuovo codice e con il mio preload dovresti poter ottenere questo risultato:
.
... >>
<script>
$( document ).ready(function() {//K>>>
/**===script esclusivo by KolAsim===**/
ritardoK = 3; // secondi di ritardo da valutare
urlK="https://www.homilyvoice.it/";
urlWordK="https://view.officeapps.live.com/op/embed.aspx?src="+urlK;
//------------------------------------------------------------K
//--- sezione -- preloader by KolAsim ---
imgPreK = "https://hello-site.ru/main/images/preloads/tail-spin.svg";
preK='<div id="loaderK" style="position:fixed;top:0px;left:0px;width:100%;height:100%;z-index:1000000; background-color:rgba(0,0,0,0.5);background-image: url('+imgPreK+');background-repeat: no-repeat; background-attachment: fixed; background-position: center center;background-size:20%"> </div>';
$("body").append(preK);
//------------------------preload --- fine.....................K
setTimeout(function(){ //K1>
$("body").append(audioK1)
},1000); //K1<<
setTimeout(function(){ //K2>
$("#loaderK").hide();
AncoreK() ;
}, ritardoK*1000); //K2<<
}); //K<<<<
function AncoreK() {//K3>>>
audioK1='<audio id="audioK" autoplay src="" type="audio/mpeg" ></audio>';
$("body").prepend(audioK1);
urlK="https://www.homilyvoice.it/";
urlWordK="https://view.officeapps.live.com/op/embed.aspx?src="+urlK;
K = KK = $('td a');
audiolink = []; akk=[];link=[];
for( i = 0, TotK = K.length; i < TotK; i++){ //K4>
if($(K[i]).attr("href").indexOf(".docx") != -1) { //K5>
kk=$(K[i]).attr("href");
link[i]= urlWordK+kk;
$(K[i]).parent().append(' >> <i><a href="'+link[i]+'" target = "_blank" title="leggi online"> leggi online </a></i>');
$(K[i]).parent().attr("title","scarica file docx");
} //K5<<
if($(KK[i]).attr("href").indexOf(".mp3") != -1) { //K6>
akk=$(KK[i]).attr("href");
audiolink[i]= urlK+akk;
$(KK[i]).parent().append('   |   <i><a href="javascript:playK(\''+audiolink[i]+'\')" title="play" >audio ►</a></i> |  <i><a href="javascript:stopK()" title="STOP" "> stop ●</a></i>');
$(KK[i]).parent().attr("title","scarica file mp3");
} //K6<<
} //K4<<
} //K3<<<<
function playK(audiolinK) { //K7>>>
$("#audioK").attr('src', audiolinK)
} //K7<<<<
function stopK(audiolinK) { //K8>>>
$("#audioK").attr('src', "");
} //K8<<<<
/**===script by KolAsim - fine===**/
</script>
.......................................
.
@Michele M. con tutto l'aiuto che fornisce KolAsim, ogni tanto credo che un feedback sia bello lasciarlo (anche se a lui credo non interessi molto)
Pienamente d'accordo
@Michele, @KolAsim, Scusate se mi intrometto...
..premesso che si sta sviluppando un codice dal risultato molto interessante, ben al di là della stessa domanda ...
Mi permetto di aggiungere, per chi fosse interessato, invece, "solo" alla pura domanda:
"Vorrei sapere se è possibile creare un automatismo che prelevi i file audio dalla 1a cartella e li copi nella 2a cartella":
La risposta è:
SI.
sia automaticamente che manualmente.
Manualmente:
1) file PHP con dentro l'instruzione per copiare i file dalla cartella 1 alla cartella 2
2) link in pagina nascosta a quel file, per eseguirlo, quando voglio.
Automaticamente
1) file PHP con dentro l'istruzione per copiare i file dalla cartella 1 alla cartella 2
2) creazione di un TASK schedulato (CRON) (è un servizio gratuito presente su quasi tutti gli Host, forse su tutti) , il task eseguirà automaticamente ad una certa ora il file del punto 1)
====
per il punto 1) si trovano diversi esempi cercando in google di come copiare file tramite istruzioni in PHP
per il punto 2) (CRON) basta contattare il proprio Host, ma se esiste come servizio è facilissimo da impostare.
Io comunque non duplicherei quei file in due cartelle, se ne hai tanti , anche con spazio illimitato potrebbero farti delle storie...
E poi ben venga l'ottimo script di KolAsim... ripeto molto interessante come risultato... Grazie @KolAsim.
riscusate l'intromissione...
Ciao e visto il periodo AUGURI a tutti !
Autor
@Giancarlo B. e @Claudio D.: se vi prendete la briga di cercare tutti i miei post (e dovreste saperlo bene entrambi visto che spesso mi avete aiutato...) vedrete che i miei feedback non sono mai mancati, se poi guardate ogni singolo intervento di questa discussione vedrete che, salvo qualche risposta veloce, il mio ringraziamento accorato a @KolAsim non manca mai. Semplicemente, per abitudine professionale, sono abituato a dare un feedback nel momento in cui si chiude la discussione, così un eventuale lettore interessato vede al volo com'è stato risolto il problema. Non è mia abitudine cliccare a casaccio su un'icona, ma se è così che si usa fare su questo forum non avete che da confermarmelo e sarà subito fatto. Grazie comunque per aver sollevato la questione.
Autor
Grazie Claudio, era quello che cercavo originariamente, purtroppo le mie minime competenze non mi permettono di crearmi un file php, però una ricerca in genere sono in grado di farla; a parte questa situazione, sarebbe cosa buona imparare questa tecnica del CRON, che potrebbe tornare utile anche in altre situazioni. Naturalmente posterò qui aggiornamenti in merito. Grazie ancora e auguri di buione feste anche a te!
Autor
Buongiorno KolAsim, avevi perfettamente ragione, il nuovo codice è davvero uno spettacolo! Se mi dai il permesso, con un po' di tempo lo vorrei inserire anche in altre pagine. Per il momento ho fatto una prova qui, ho visto che non ci sono percorsi da modificare, quindi basterebbe semplicemente aggiungerlo ad ogni file php:
https://www.homilyvoice.it/frammenti-di-spiritualita-cristiana.html
ma in caso posso ripristinare subito il php originale.
Inoltre, nella riga che attiva le opzioni "play/stop" (mi sono permesso di togliere il '?') sarebbe utilissimo aggiungere anche l'opzione diretta "download" per i soli file mp3, è possibile? Questo perché, mentre cliccando sul nome dei docx parte il download, nel caso degli mp3 si apre il player di cui ti parlavo in precedenza e non tutti gli utenti arrivano facilmente a cliccare sui puntini per eseguire “scarica”; ma se è complicato va comunque benissimo così! Grazie di cuore.
ciao, ... OK, visto, funziona; ...provalo anche nelle altre pagine PHP per una conferma...
... fai attenzione alla dichiarazione per file, che siano ".docx" oppure ".doc"...
... il mio codice anche se è esclusivo, è libero, e sei libero di personalizzartelo come vuoi, anche senza i commenti, ma in caso di divulgazione sarebbe gradito di essere menzionato...
... per forzare il download, ...nella condizione //k6> || //K6<< ...aggiungi solo questa stringa di codice:
$(KK[i]).attr("download","download");
... come vedi in questa sezione evidenziato in grassetto in basso qui:
if($(KK[i]).attr("href").indexOf(".mp3") != -1) { //K6>
akk=$(KK[i]).attr("href");
audiolink[i]= urlK+akk;
$(KK[i]).parent().append('   |   <i><a href="javascript:playK(\''+audiolink[i]+'\')" title="play" > play </a></i> |  <i><a href="javascript:stopK()" title="STOP" "> stop </a></i>');
$(KK[i]).parent().attr("title","scarica file mp3");
$(KK[i]).attr("download","download");
} //K6<<
...
.
... a questo punto, secondo me e per come la vedo io, come accennato prima, dovresti provare ad applicare l'iframe elastico, cioè automaticamente a tutta altezza per non avere un doppio scroll verticale...
.
ciao
.
Autor
Per quanto riguarda l'uso del codice ti ringrazio, dovunque lo inserirò in questo sito ovviamente sarà esattamente come lo hai scritto tu, quindi con i riferimenti all'esclusività ed al tuo nick.
La stringa aggiuntiva funziona, ma mi scarica il file come download.mp3; modificandola in:
$(KK[i]).attr("download",audiolink[i]);
il nome diventa quello dell'intero URL. Avevo provato ad estrapolare la sola parte nel nome originale con:
$(KK[i]).attr("download",substr(audiolink[i],54));
ma non funziona, è il massimo che sono riuscito a fare
Per quanto riguarda l'iframe elastico certo che posso provare, se puoi continuare ad aiutarmi, ben venga ogni miglioria sia grafica che funzionale. Grazie ancora.
... sostituisci la precedente stringa con questa:
$(KK[i]).attr("download",$(this).text());
.
Autor
Grazie mille! ora il codice è perfetto, quindi lo replicherò in altre cartelle, secondo necessità, peraltro ha il vantaggio che non richiede modifiche legate ai vari URL.
Per l'iframe elastico, se hai un ulteriore codice da testare lo faccio volentieri. Grazie ancora.
Autor
Ho trovato indicazioni per la copia dei file, ora approfondirò la questione del CRON, per il momento ti ringrazio per il suggerimento.
... per l'iframe mi pare che ne avevamo parlato in tempi remoti, comunque questo è uno dei tanti metodi che puoi trovare in rete: http://th.atguy.com/mycode/iframe_size/
... dovrebbe essere semplice, ...ma, se incontri difficoltà, apri un nuovo Argomento a tema, ...e nel caso poi si potrebbe provare con qualche mio codice EXTRA...
.
ciao
.