Ну, это один из способов сделать это. Вероятно, это не самый эффективный способ сделать это, но он работает.
<?php
$folders = Array(
Array("img", "dummies", "slides", "01.jpg"),
Array("img_24", "dummy", "slideshows", "65.png")
);
for ($i=0;$i<count($folders);$i++) {
for ($j=0;$j<count($folders[$i]);$j++) {
$path .= $folders[$i][$j] . "/";
mkdir($path);
}
unset($path);
}
?>
Это в основном читает массив и помещает каждое имя в одной переменной, которая простирается на себя так, что он создает путь. Файл JPEG не создается, конечно, но это то, что вы можете сделать с file_put_contents или так, просто приведите ему другое значение массива, ссылаясь как «файл» вместо определения «папка по умолчанию». Затем, когда он читает определение, он автоматически создает файл вместо папки, а затем записывает данные битмапа.
EDIT: Для создания файла вы можете использовать file_put_contents, как я объяснил выше, я сделал небольшой фрагмент кода, чтобы продемонстрировать его использование.
<?php
$folders = Array(
Array("img", "dummies", "slides", Array("01.jpg", "11abcdefghijklmnopqrstuvxyz")),
Array("img_24", "dummy", "slideshows", Array("65.png", "22abcdefghijklmnopqrstuvxyz"))
);
for ($i=0;$i<count($folders);$i++) {
for ($j=0;$j<count($folders[$i]);$j++) {
$path .= (gettype($folders[$i][$j]) != "array" ? $folders[$i][$j] . "/" : $folders[$i][$j][0]);
if (gettype($folders[$i][$j]) != "array") {
mkdir($path);
}else{
file_put_contents($path, (isset($folders[$i][$j][1]) ? $folders[$i][$j][1] : "nil"));
}
}
unset($path);
}
?>
Второе значение файла JPEG используется для содержимого файла. Вы можете поместить данные растрового изображения в это, читая файл, который вы используете, а затем помещаете его в качестве значения. Таким образом вы получите изображение, созданное должным образом.
'$ складку = $ я <($ imglength-1);' Что это? Вы знаете, что эта переменная будет содержать только «истину» или «ложь», правильно? –
file_exists ($ path_from_root. '/ Somedir/file /'. $ Fold) проверить из выпадающей папки корневого каталога или нет – Dev
как насчет 'array_map ('mkdir', $ array)'? (если файл/dir существует, он потерпит неудачу, но продолжит) –