Ich arbeite auf einer Website, und der relevante Teil meiner Dateistruktur ist:Wie mache ich relative Dateipfadierung mit include()?
- Website
- Klassen
- class1
- js
- Klassen
Jetzt enthält die js Skripte, die andere Skripte im selben Ordner verwenden. Die einzige Möglichkeit, die Skripts auf den PHP-Seiten korrekt zu laden, besteht darin, entweder den gesamten js-Ordner in den entsprechenden Unterordner zu kopieren oder die Seite in den Site-Ordner zu verschieben. Keine dieser Optionen ist gut.
Ich weiß, dass das Problem mit dem Dateipfad ist, also wie bekomme ich die Includes in den js-Skripten zu Pfad relativ zu ihrem Standort und nicht den Speicherort der PHP-Seite? Ein Beispiel dafür:
Ich habe eine Seite in class1 namens class1home.php.
Es ruft ein js-Skript namens script.js.
script.js enthält eine Funktion mit include (script2.js), die sich im Ordner js befindet.
Wegen des Pfades sucht das Include nach der Site/classes/class1/script2.js.
Ich möchte es auf die Website/js/script2.js gehen.
Da mehrere Ordner und Skripts script2.js verwenden, kann ich den Dateipfad innerhalb des Includes nicht einfach so ändern, dass er relativ zu dieser bestimmten Seite ist.
Innerhalb script.js:
/**
* @function Include
* @description Includes an external scripts to the page
* @param {string} scriptUrl
*/
function include(scriptUrl) {
document.write('<script src="' + scriptUrl + '"></script>');
}
Ein Ort, es verwendet wird (innerhalb script.js):
/**
* @module ToTop
* @description Enables ToTop Plugin
*/
(function ($) {
var o = $('html');
if (o.hasClass('desktop')) {
include('js/jquery.ui.totop.min.js');
$(document).ready(function() {
$().UItoTop({
easingType: 'easeOutQuart',
containerClass: 'ui-to-top fa fa-angle-up'
});
});
}
})($);
Wer verstehen die Frage? – Lekhnath
Ich denke, ein Beispielcode könnte uns helfen, jemanden zu verstehen und ihm auch eine nützliche Antwort zu geben. – RiggsFolly
Ich habe die Frage mit einem Beispiel aktualisiert –