<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 前言部分示例代碼,與正文無關</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"這是一個PHP腳本示例,用於展示文章結構。"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 正文開始</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>is_dir在文件移動過程中常見的使用場景和技巧</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>在PHP開發中,文件和目錄的操作是非常常見的任務,尤其是文件的移動(移動文件或重命名文件)操作。在文件移動過程中,<code>is_dir " ; echo " 在移動文件之前,通常需要檢查目標目錄是否存在。如果目錄不存在,需要先創建目錄:
" ; echo "\$source = 'uploads/file.txt';
\$destinationDir = 'backup/2025/';
if (!is_dir(\$destinationDir)) {
mkdir(\$destinationDir, 0777, true); // 遞歸創建目錄
}
\$destination = \$destinationDir . basename(\$source);
rename(\$source, \$destination); // 移動文件
" ; echo " 在移動文件時,若目標目錄中已經存在同名文件,可以先使用is_dir配合file_exists進行判斷,避免覆蓋:
" ; echo "\$destinationDir = 'backup/2025/';
\$destination = \$destinationDir . basename(\$source);
if (is_dir(\$destinationDir)) {
if (!file_exists(\$destination)) {
rename(\$source, \$destination);
} else {
echo '目標文件已存在,移動失敗';
}
} else {
echo '目標目錄不存在';
} " ; echo " 當需要批量移動文件時,可以先檢查每個目標目錄是否存在,然後再移動對應的文件:
" ; echo "\$files = ['file1.txt', 'file2.txt'];
\$baseDir = 'backup/2025/';
foreach (\$files as \$file) {
\$destinationDir = \$baseDir . pathinfo(\$file, PATHINFO_FILENAME) . '/';
if (!is_dir(\$destinationDir)) {
mkdir(\$destinationDir, 0777, true);
}
rename('uploads/' . \$file, \$destinationDir . \$file);
} " ; echo " "總結來說, is_dir是文件移動過程中不可或缺的工具函數,它可以確保目錄存在、避免操作錯誤,並且結合其他函數(如mkdir和file_exists )可以實現更加穩健的文件移動邏輯。
" ; ?>