﻿{"id":5166,"date":"2021-10-07T14:58:15","date_gmt":"2021-10-07T13:58:15","guid":{"rendered":"https:\/\/dahoo.fr\/wordpress\/?p=5166"},"modified":"2021-10-07T15:02:01","modified_gmt":"2021-10-07T14:02:01","slug":"php-fonction-joinpath","status":"publish","type":"post","link":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/","title":{"rendered":"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin"},"content":{"rendered":"<p>Si comme moi sur nodejs vous utiliser la fonction bien pratique path.join() mais que vous ne la trouver pas sur PHP. Normal, elle existe pas. Je vous propose une alternative avec cette fonction joinPath, ci-dessous. Si vous ne la connaissait pas, elle permet de joindre des morceaux de chemin sans se soucier si il faut utiliser les \u00ab\u00a0\/\u00a0\u00bb sur windows ou les \u00ab\u00a0\\\u00a0\u00bb sur linux. Bien que la constante magique de PHP \u00ab\u00a0DIRECTORY_SEPARATOR\u00a0\u00bb permet d&rsquo;outre passer cette probl\u00e9matique, il s&rsquo;av\u00e8re que les chemins deviennent tr\u00e8s vite long.<\/p>\n<p><!--more--><\/p>\n<h3>Fonction<\/h3>\n<p>La fonction peut \u00eatre utile dans les require, require_once, les chargement de fichiers, etc.<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;php&quot;,&quot;mime&quot;:&quot;text\/x-php&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">function joinPath()\r\n{\r\n    $path = join(DIRECTORY_SEPARATOR, func_get_args());\r\n    if( is_dir($path) ):\r\n        $path .= DIRECTORY_SEPARATOR;\r\n    endif;\r\n    \r\n    return $path;\r\n}<\/pre>\n<\/div>\n<h3><\/h3>\n<h3>Utilisation<\/h3>\n<p>Exemple d&rsquo;utilisation de la fonction. Vous pouvez passer autant d&rsquo;argument que vous le souhait\u00e9.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"wp-block-codemirror-blocks code-block\">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;php&quot;,&quot;mime&quot;:&quot;text\/x-php&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">\/\/ Avec des fichiers\r\nrequire_once joinPath(__DIR__, 'menu.php');\r\nrequire_once joinPath(__DIR__, '..', 'src', 'Entity.class.php');\r\n\r\n\/\/ Avec des dossiers\r\n$global = global(joinPapth(__DIR__, '..', 'media', 'images'));\r\n\r\n<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<h3>Bonus<\/h3>\n<p>C&rsquo;est la m\u00eame fonction, mais avec un test si celle-ci existe. Pratique pour pas rentrer en conflit avec une futur version de php ou si vous utilsier une librairie qui l&rsquo;impelnte d\u00e9j\u00e0.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"wp-block-codemirror-blocks code-block\">\n<pre class=\"CodeMirror\" data-setting=\"{&quot;mode&quot;:&quot;php&quot;,&quot;mime&quot;:&quot;text\/x-php&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:false,&quot;lineWrapping&quot;:false,&quot;styleActiveLine&quot;:false,&quot;readOnly&quot;:true,&quot;align&quot;:&quot;&quot;}\">if(!function_exists('joinPath'))\r\n{\r\n    function joinPath()\r\n    {\r\n        $path = join(DIRECTORY_SEPARATOR, func_get_args());\r\n        if( is_dir($path) ):\r\n            $path .= DIRECTORY_SEPARATOR;\r\n        endif;\r\n    \r\n        return $path;\r\n    }\r\n}<\/pre>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si comme moi sur nodejs vous utiliser la fonction bien pratique path.join() mais que vous ne la trouver pas sur PHP. Normal, elle existe pas. Je vous propose une alternative avec cette fonction joinPath, ci-dessous.&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":312,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"image","meta":{"footnotes":""},"categories":[308,50],"tags":[263,468,469,329,181,470,471],"class_list":["post-5166","post","type-post","status-publish","format-image","has-post-thumbnail","hentry","category-php","category-snippet","tag-code","tag-join","tag-joinpath","tag-path","tag-php","tag-snippet","tag-utile","post_format-post-format-image"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PHP fonction joinPath : La fonction de cr\u00e9ation de chemin - D@hoo<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin - D@hoo\" \/>\n<meta property=\"og:description\" content=\"Si comme moi sur nodejs vous utiliser la fonction bien pratique path.join() mais que vous ne la trouver pas sur PHP. Normal, elle existe pas. Je vous propose une alternative avec cette fonction joinPath, ci-dessous.&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/\" \/>\n<meta property=\"og:site_name\" content=\"D@hoo\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-07T13:58:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-07T14:02:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dahoo.fr\/wordpress\/wp-content\/uploads\/2014\/06\/PHP-logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"421\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fabacks\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabacks\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/\"},\"author\":{\"name\":\"Fabacks\",\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/#\\\/schema\\\/person\\\/08ab6e7b6f186b7e033fe862d72137d2\"},\"headline\":\"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin\",\"datePublished\":\"2021-10-07T13:58:15+00:00\",\"dateModified\":\"2021-10-07T14:02:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/\"},\"wordCount\":177,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/PHP-logo.png\",\"keywords\":[\"code\",\"join\",\"joinPath\",\"path\",\"php\",\"snippet\",\"utile\"],\"articleSection\":[\"PHP\",\"Snippet\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/\",\"url\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/\",\"name\":\"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin - D@hoo\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/PHP-logo.png\",\"datePublished\":\"2021-10-07T13:58:15+00:00\",\"dateModified\":\"2021-10-07T14:02:01+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/#\\\/schema\\\/person\\\/08ab6e7b6f186b7e033fe862d72137d2\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/PHP-logo.png\",\"contentUrl\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/wp-content\\\/uploads\\\/2014\\\/06\\\/PHP-logo.png\",\"width\":800,\"height\":421},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/php-fonction-joinpath\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/\",\"name\":\"D@hoo\",\"description\":\"Dahoo, la taverne du geek\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/#\\\/schema\\\/person\\\/08ab6e7b6f186b7e033fe862d72137d2\",\"name\":\"Fabacks\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5774810a4a71ec90d75c578017954d3e8d660747be025fdae4d44599410b4806?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5774810a4a71ec90d75c578017954d3e8d660747be025fdae4d44599410b4806?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5774810a4a71ec90d75c578017954d3e8d660747be025fdae4d44599410b4806?s=96&r=g\",\"caption\":\"Fabacks\"},\"description\":\"Fabacks, fondateur du projet Dahoo proposant des news, des tutos, des tests tout cela gratuitement. Un bidouilleur et fan d'informatique en tout genre qui vous fera partager ses exp\u00e9riences.\",\"sameAs\":[\"http:\\\/\\\/dahoo.fr\"],\"url\":\"https:\\\/\\\/dahoo.fr\\\/wordpress\\\/author\\\/fabien\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin - D@hoo","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/","og_locale":"fr_FR","og_type":"article","og_title":"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin - D@hoo","og_description":"Si comme moi sur nodejs vous utiliser la fonction bien pratique path.join() mais que vous ne la trouver pas sur PHP. Normal, elle existe pas. Je vous propose une alternative avec cette fonction joinPath, ci-dessous.&#46;&#46;&#46;","og_url":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/","og_site_name":"D@hoo","article_published_time":"2021-10-07T13:58:15+00:00","article_modified_time":"2021-10-07T14:02:01+00:00","og_image":[{"width":800,"height":421,"url":"https:\/\/dahoo.fr\/wordpress\/wp-content\/uploads\/2014\/06\/PHP-logo.png","type":"image\/png"}],"author":"Fabacks","twitter_misc":{"\u00c9crit par":"Fabacks","Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#article","isPartOf":{"@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/"},"author":{"name":"Fabacks","@id":"https:\/\/dahoo.fr\/wordpress\/#\/schema\/person\/08ab6e7b6f186b7e033fe862d72137d2"},"headline":"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin","datePublished":"2021-10-07T13:58:15+00:00","dateModified":"2021-10-07T14:02:01+00:00","mainEntityOfPage":{"@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/"},"wordCount":177,"commentCount":0,"image":{"@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#primaryimage"},"thumbnailUrl":"https:\/\/dahoo.fr\/wordpress\/wp-content\/uploads\/2014\/06\/PHP-logo.png","keywords":["code","join","joinPath","path","php","snippet","utile"],"articleSection":["PHP","Snippet"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/","url":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/","name":"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin - D@hoo","isPartOf":{"@id":"https:\/\/dahoo.fr\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#primaryimage"},"image":{"@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#primaryimage"},"thumbnailUrl":"https:\/\/dahoo.fr\/wordpress\/wp-content\/uploads\/2014\/06\/PHP-logo.png","datePublished":"2021-10-07T13:58:15+00:00","dateModified":"2021-10-07T14:02:01+00:00","author":{"@id":"https:\/\/dahoo.fr\/wordpress\/#\/schema\/person\/08ab6e7b6f186b7e033fe862d72137d2"},"breadcrumb":{"@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#primaryimage","url":"https:\/\/dahoo.fr\/wordpress\/wp-content\/uploads\/2014\/06\/PHP-logo.png","contentUrl":"https:\/\/dahoo.fr\/wordpress\/wp-content\/uploads\/2014\/06\/PHP-logo.png","width":800,"height":421},{"@type":"BreadcrumbList","@id":"https:\/\/dahoo.fr\/wordpress\/php-fonction-joinpath\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/dahoo.fr\/wordpress\/"},{"@type":"ListItem","position":2,"name":"PHP fonction joinPath : La fonction de cr\u00e9ation de chemin"}]},{"@type":"WebSite","@id":"https:\/\/dahoo.fr\/wordpress\/#website","url":"https:\/\/dahoo.fr\/wordpress\/","name":"D@hoo","description":"Dahoo, la taverne du geek","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dahoo.fr\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/dahoo.fr\/wordpress\/#\/schema\/person\/08ab6e7b6f186b7e033fe862d72137d2","name":"Fabacks","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/5774810a4a71ec90d75c578017954d3e8d660747be025fdae4d44599410b4806?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5774810a4a71ec90d75c578017954d3e8d660747be025fdae4d44599410b4806?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5774810a4a71ec90d75c578017954d3e8d660747be025fdae4d44599410b4806?s=96&r=g","caption":"Fabacks"},"description":"Fabacks, fondateur du projet Dahoo proposant des news, des tutos, des tests tout cela gratuitement. Un bidouilleur et fan d'informatique en tout genre qui vous fera partager ses exp\u00e9riences.","sameAs":["http:\/\/dahoo.fr"],"url":"https:\/\/dahoo.fr\/wordpress\/author\/fabien\/"}]}},"jetpack_featured_media_url":"https:\/\/dahoo.fr\/wordpress\/wp-content\/uploads\/2014\/06\/PHP-logo.png","_links":{"self":[{"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/posts\/5166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/comments?post=5166"}],"version-history":[{"count":3,"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/posts\/5166\/revisions"}],"predecessor-version":[{"id":5169,"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/posts\/5166\/revisions\/5169"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/media\/312"}],"wp:attachment":[{"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/media?parent=5166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/categories?post=5166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dahoo.fr\/wordpress\/wp-json\/wp\/v2\/tags?post=5166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}