Титла: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 01, 2011, 01:04
Здравейте драги съфорумници. Както се подразбира от заглавието ми трябва файл, който да може да качи клип в дадена директория и паралелно с това да записва в xml файла заглавие, описание и каквото и да било и понеже си нямам и понятие от php i xml се обръщам към Вас. Благадоря на всички които биха се отзовали
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: VladSun в Mar 01, 2011, 10:47
Пробвай сам първо :)
http://www.scanit.be/uploads/php-file-upload.pdf ! http://www.w3schools.com/PHP/php_file_upload.asp
http://www.php.net/manual/en/function.simplexml-load-file.php http://www.php.net/manual/en/simplexmlelement.children.php http://www.php.net/manual/en/simplexmlelement.addchild.php
Не забравяй да дадеш права за писане на Apche-то върху директорията, в която качваш.
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 01, 2011, 10:58
Нямам идея как да ги вържа. Само upload форма имам някаква и се качват обаче не знам как да ги навържа. Т.е. трябва да е един файл който да има полета за заглавие, описание и т.н. после да избера файла който искам да кача и след като натисна upload дадения файл да се качи заедно с описанието. Директорията има права за писане
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: VladSun в Mar 01, 2011, 19:41
Дай да я видим тази "upload" форма.
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: b2l в Mar 01, 2011, 20:01
Ето ти един чудесен (поне за мен) пример как се dump-ва xml: GeSHi (PHP): <html> <head> <title>Create XML</title> </head> <body> <?php // Creates a new document according to 1.0 specs $document = domxml_new_doc("1.0"); // Lets create an element and call it root, we will then append it to the new document. $rootElement = $document->create_element("root"); $new_node = $document->append_child($rootElement); // Lets create a new node called "Items" and append that to the root node. $itemsElement = $document->create_element("Items"); $items_node = $new_node->append_child($itemsElement); // Now go into a for loop in which we will create, set, and add five nodes to our Items node. for($i = 0; $i < 5; $i++) { $item = $document->create_element("Item"); $item->set_content("This is item $i"); $items_node->append_child($item); } // Lets dump this structure out to a file called items.xml $document->dump_file("items.xml"); ?> </body> </html>
Output: GeSHi (XML): <?xml version="1.0" ?> <root> <Items> <Item>This is item 0</Item> <Item>This is item 1</Item> <Item>This is item 2</Item> <Item>This is item 3</Item> <Item>This is item 4</Item> </Items> </root>
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 02, 2011, 03:55
Това е upload формата GeSHi (PHP): <?php $site_name = $_SERVER['HTTP_HOST']; $url_dir = " http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF' ]); $url_this = " http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF' ]; // Къде да се записват качените файлове? $upload_dir = "files/"; $upload_url = $url_dir."/files/"; $message ="log.txt"; /************************************************************ Създава директория за качените файлове ************************************************************/ die ("няма папка за качените файлове и не можах да създам такава"); if (!chmod($upload_dir,0755)) die ("не можах да сменя правата на 755"); } /************************************************************ Обслужва заявката на потребителя ************************************************************/ if ($_REQUEST[del]) { print "<script>window.location.href='$url_this?message=deleted successfully'</script>"; } else if ($_FILES['userfile']) { $message = do_upload($upload_dir, $upload_url); print "<script>window.location.href='$url_this?message=$message'</script>"; } else if (!$_FILES['userfile']); else $message = "Invalid File Specified."; /************************************************************ Списък с файлове ************************************************************/ $filelist = ""; $filelist .= "<br><a href='$upload_dir$file'>".$file."</a>"; } } function do_upload($upload_dir, $upload_url) { $temp_name = $_FILES['userfile']['tmp_name']; $file_name = $_FILES['userfile']['name']; $file_type = $_FILES['']['exe']; $file_type = $_FILES['']['mp3']; $file_type = $_FILES['']['avi']; $file_type = $_FILES['']['mp3u']; $file_type = $_FILES['']['php']; $file_type = $_FILES['']['html']; $file_type = $_FILES['']['*.*']; $file_size = $_FILES['userfile']['size']; $result = $_FILES['userfile']['error']; $file_url = $upload_url.$file_name; $file_path = $upload_dir.$file_name; //File Name Check if ( $file_name =="") { $message = "Невалиден тип файл"; return $message; } //File Size Check else if ( $file_size > 999999999999999999999) { $message = "Размера на файла е много голям."; return $message; } //File Type Check else if ( $file_type == "text/plain" || $file_type == "application/force-download" || $file_type == "application/octet-stream") { $message = "Не може да качвате скриптови файлове"; return $message; } if (!chmod($file_path,0755)) $message = "не можах да сменя правата на 755"; else $message = ($result)?"$file_name($file_type) файла качен успешно." : "Каченият файл е повреден."; return $message; } ?> <table style="width: 40%" align="center" valign="top"> <tr> <td> <div align="center" style="font-size: 19px; font-weight: bold"> </table> <body bgcolor="#667987"><center> <font color=red><?=$_REQUEST[message]?></font> <form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post"> Качи фаил: <input type="file" id="userfile" name="userfile" size="20"> <input type="submit" name="upload" value="Upload"> </form> <b>До сега потребителите ни са качили следните файлове:</b> <hr style="color:yellow; background-color:black; height:1px; margin-right:0; text-align:right; border:0px"> <?=$filelist?> </center> <? if ($_REQUEST[debug ]==1) print "------------------Debugging Info----------------<br>"; if ($_REQUEST[debug ]==1) print "site=$site_name<br>dir=$url_dir<br>url=$url_this<br>"; if ($_REQUEST[debug ]==1) print "upload dir=$upload_dir<br>upload url=$upload_url<br>"; ?>
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: VladSun в Mar 02, 2011, 04:28
GeSHi (PHP): //File Type Check else if ( $file_type == "text/plain" || $file_type == "application/force-download" || $file_type == "application/octet-stream") {
;D ;D ;D По-добре не го ползвай този скрипт :)
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: VladSun в Mar 02, 2011, 15:46
GeSHi (PHP): <?php function validateInput($request, &$response, $config) { if (!$request['submitted']) return false; $hasError = false; if (empty($request['desc'])) { $response['errors'][] = "Полето 'Description' е задължително."; $hasError = true; } if (empty($request['file'])) { $response['errors'][] = "Полето 'File' е задължително."; $hasError = true; } if ($request['file']['error'] !== UPLOAD_ERR_OK) { ( UPLOAD_ERR_INI_SIZE => "The uploaded file exceeds the upload_max_filesize directive in php.ini.", UPLOAD_ERR_FORM_SIZE => "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.", UPLOAD_ERR_PARTIAL => "The uploaded file was only partially uploaded. ", UPLOAD_ERR_NO_FILE => "No file was uploaded.", UPLOAD_ERR_NO_TMP_DIR => "Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3. ", UPLOAD_ERR_CANT_WRITE => "Failed to write file to disk. Introduced in PHP 5.1.0. ", UPLOAD_ERR_EXTENSION => "A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.", ); $response['errors'][] = $errorMap[$request['file']['error']]; return false; } if (file_exists($config['destinationDir'] . '/' . $request['file']['name'])) { $response['errors'][] = $request['file']['name'] . " вече съществува. "; $hasError = true; } if ($request['file']['name'] > $config['maxFileSize']) { $response['errors'][] = "Файлът има размер по-голям от разрешения. (" . $request['file']['size'] . " > " . $config['maxFileSize']. ")"; $hasError = true; } { $response['errors'][] = "Файлове с такова разшорение не са разрешени за качване."; $response['errors'][] = "Разрешените разширения са " . implode(', ', $config['allowedExtensions']); $hasError = true; } return !$hasError; } function uploadFile($request, &$response, $config) { if (false === move_uploaded_file($request['file']['tmp_name'], $config['destinationDir'] . '/' . $request['file']['name'])) { $response['errors'][] = 'Грека при качването на файла.'; return false; } return true; } function removeFile($request, &$response, $config) { if (!unlink($config['destinationDir'] . '/' . $request['file']['name'])) { $response['errors'][] = 'Грешка при изчистването на файла.'; return false; } return true; } function getList(&$response, $config) { $response['files'] = glob($config['destinationDir'].'/*.*'); } function describeFile($request, &$response, $config) { libxml_use_internal_errors(true); $xml = simplexml_load_file($config['destinationFile']); if (!$xml) { $response['errors'][] = "Failed loading XML\n"; foreach(libxml_get_errors() as $error) { $response['errors'][] = $error->message; } return false; } $file = $xml->addChild('file'); $file->addChild('name', $request['file']['name']); $file->addChild('description', $request['desc']); if (false === file_put_contents($config['destinationFile'], $xml->asXML())) { $response['errors'][] = 'Грешка при записването в XML файла.'; return false; } $response['messages'][] = "Качено в " . $config['destinationDir'] . '/' . $request['file']['name']; return true; } function view($response, $config) { $pageTemplate = <<<EOT <html> <head> <style type="text/css"> .error { border : 1px solid red; background-color: #ffa0a0; color: #220000; text-align : center; padding : 20 20; margin : 10; } .message { border : 1px solid green; background-color: #a0ffa0; color : #220000; text-align : center; padding : 20 20; margin : 10; } .files { border : 1px solid black; padding : 20; margin : 10; } .form { border : 1px solid black; padding : 20; margin : 10; } </style> </head> <body> %s %s %s %s </body> </html> EOT; $listItemTemplate = <<<EOT <li>%s</li> EOT; $listTemplate = <<<EOT <div class="files"> <ol> %s </ol> </div> EOT; $errorTemplate = <<<EOT <div class="error">%s</div> EOT; $messageTemplate = <<<EOT <div class="message">%s</div> EOT; $formTemplate = <<<EOT <form action="" method="post" enctype="multipart/form-data" class="form"> <input type="hidden" name="submitted" value="1" /> <input type="hidden" name="MAX_FILE_SIZE" value="%d" /> <label for="file">Filename:</label><input type="file" name="file" id="file" /> <br /> <label for="file">Description:</label><textarea cols="20" rows="5" name="desc" id="desc"></textarea> <br /> <input type="submit" name="submit" value="Submit" /> </form> EOT; $errorView = ''; $messageView = ''; $fileListView = 'No files uploaded.'; if (!empty($response['errors'])) { $errorView = sprintf($errorTemplate, implode('<br />', $response['errors'])); } if (!empty($response['messages'])) { $messageView = sprintf($messageTemplate, implode('<br />', $response['messages'])); } if (!empty($response['files'])) { $listItemRenderer = function ($fileName) use ($listItemTemplate) { }; ( $listItemRenderer, $response['files'])) ); } $formView = sprintf($formTemplate, $config['maxFileSize']); printf($pageTemplate, $errorView, $messageView, $formView, $fileListView); } //-----------------------------------------------------------------------------------------// ( 'maxFileSize' => 900000, 'allowedExtensions' => array ( 'jpeg', 'jpg', 'gif', 'bmp', ), 'allowOverwrite' => false, 'destinationDir' => 'uploads', 'destinationFile' => 'db.xml', ); ( 'submitted' => isset($_POST['submitted']), 'file' => isset($_FILES['file']) ? $_FILES['file'] : false, 'desc' => isset($_POST['desc']) ? $_POST['desc'] : false, ); ( ); if (validateInput($request, $response, $config)) { if (uploadFile($request, $response, $config)) { if (!describeFile($request, $response, $config)) { removeFile($request, $response, $config); } } } getList($response, $config); view($response, $config);
PS: PHP 5.3+
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 03, 2011, 21:29
Дава ми тази грешка "Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/evraziab/public_html/upload.php on line 336" А 336 ред е това "if (!empty($response['errors']))" и колко него редовете изглеждат така GeSHi (PHP): $errorView = ''; $messageView = ''; $fileListView = 'No files uploaded.'; if (!empty($response['errors'])) { $errorView = sprintf($errorTemplate, implode('<br />', $response['errors'])); } if (!empty($response['messages']))
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: b2l в Mar 03, 2011, 21:32
??? GeSHi (PHP): if (!empty($response[errors ]))
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 03, 2011, 22:08
Значи махнах кавичките и на останалите и сега ми дава грешка "Parse error: syntax error, unexpected $end in /home/evraziab/public_html/upload.php on line 456" GeSHi (PHP): <?php function validateInput($request, &$response, $config) { if (!$request['submitted']) return false; $hasError = false; if (empty($request['desc'])) { $response['errors'][] = "Полето 'Description' е задължително."; $hasError = true; } if ($request['file']['error'] !== UPLOAD_ERR_OK) { ( UPLOAD_ERR_INI_SIZE => "The uploaded file exceeds the upload_max_filesize directive in php.ini.", UPLOAD_ERR_FORM_SIZE => "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.", UPLOAD_ERR_PARTIAL => "The uploaded file was only partially uploaded. ", UPLOAD_ERR_NO_FILE => "No file was uploaded.", UPLOAD_ERR_NO_TMP_DIR => "Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3. ", UPLOAD_ERR_CANT_WRITE => "Failed to write file to disk. Introduced in PHP 5.1.0. ", UPLOAD_ERR_EXTENSION => "A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.", ); $response['errors'][] = $errorMap[$request['file']['error']]; return false; } if (file_exists($config['destinationDir'] . '/' . $request['file']['name'])) { $response['errors'][] = $request['file']['name'] . " вече съществува. "; $hasError = true; } if ($request['file']['name'] > $config['maxFileSize']) { $response['errors'][] = "Файлът има размер по-голям от разрешения. (" . $request['file']['size'] . " > " . $config['maxFileSize']. ")"; $hasError = true; } { $response['errors'][] = "Файлове с такова разшорение не са разрешени за качване."; $response['errors'][] = "Разрешените разширения са " . implode(', ', $config['allowedExtensions']); $hasError = true; } return !$hasError; } function uploadFile($request, &$response, $config) { move_uploaded_file($request['file']['tmp_name'], $config['destinationDir'] . '/' . $request['file']['name']); $response['messages'][] = "Качено в " . $config['destinationDir'] . '/' . $request['file']['name']; } function getList(&$response, $config) { $response['files'] = glob($config['destinationDir'].'/*.*'); } function describeFile($request, &$response, $config) { libxml_use_internal_errors(true); $xml = simplexml_load_file($config['destinationFile']); if (!$xml) { $response['errors'][] = "Failed loading XML\n"; foreach(libxml_get_errors() as $error) { $response['errors'][] = $error->message; } return false; } $file = $xml->addChild('file'); $file->addChild('name', $request['file']['name']); $file->addChild('description', $request['desc']); file_put_contents($config['destinationFile'], $xml->asXML()); } function view($response, $config) { $pageTemplate = <<<EOT <html> <head> <style type="text/css"> .error { border : 1px solid red; background-color: #ffa0a0; color: #220000; text-align : center; padding : 20 20; margin : 10; } .message { border : 1px solid green; background-color: #a0ffa0; color : #220000; text-align : center; padding : 20 20; margin : 10; } .files { border : 1px solid black; padding : 20; margin : 10; } .form { border : 1px solid black; padding : 20; margin : 10; } </style> </head> <body> %s %s %s %s </body> </html> EOT; $listItemTemplate = <<<EOT <li>%s</li> EOT; $listTemplate = <<<EOT <div class="files"> <ol> %s </ol> </div> EOT; $errorTemplate = <<<EOT <div class="error">%s</div> EOT; $messageTemplate = <<<EOT <div class="message">%s</div> EOT; $formTemplate = <<<EOT <form action="" method="post" enctype="multipart/form-data" class="form"> <input type="hidden" name="submitted" value="1" /> <input type="hidden" name="MAX_FILE_SIZE" value="%d" /> <label for="file">Filename:</label><input type="file" name="file" id="file" /> <br /> <label for="file">Description:</label><textarea cols="20" rows="5" name="desc" id="desc"></textarea> <br /> <input type="submit" name="submit" value="Submit" /> </form> EOT; $errorView = ''; $messageView = ''; $fileListView = 'No files uploaded.'; if (!empty($response[errors ])) { $errorView = sprintf($errorTemplate, implode('<br />', $response[errors ])); } if (!empty($response[messages ])) { $messageView = sprintf($messageTemplate, implode('<br />', $response[messages ])); } if (!empty($response[files ])) { $listItemRenderer = function ($fileName) use ($listItemTemplate) { }; ( $listItemRenderer, $response[files])) ); } $formView = sprintf($formTemplate, $config[maxFileSize ]); printf($pageTemplate, $errorView, $messageView, $formView, $fileListView); } //-----------------------------------------------------------------------------------------// ( 'maxFileSize' => 900000, 'allowedExtensions' => array ( 'jpeg', 'jpg', 'gif', 'bmp', ), 'allowOverwrite' => false, 'destinationDir' => 'uploads', 'destinationFile' => 'db.xml', ); ( 'submitted' => isset($_POST[submitted ]), 'desc' => isset($_POST[desc ]) ? $_POST[desc ] : false, ); ( ); if (validateInput($request, $response, $config)) { uploadFile($request, $response, $config); describeFile($request, $response, $config); } getList($response, $config); view($response, $config);
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: VladSun в Mar 04, 2011, 01:17
Скриптът е реално работещ - дебъгвай :) Коя версия на PHP ползваш? изиск
PS: Явно променяш сорса - heredoc синтаксът изисква да няма нищо пред затварящия низ. Пробвай скрипта след директен copy-paste ... не променяй нищо освен $config редовете.
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: VladSun в Mar 04, 2011, 01:30
???
GeSHi (PHP): if (!empty($response[errors ]))
Лош съвет :( http://php.net/manual/en/language.types.array.php Why is $foo[bar] wrong?
Always use quotes around a string literal array index. For example, $foo['bar'] is correct, while $foo[bar] is not. But why? It is common to encounter this kind of syntax in old scripts: <?php $foo[bar] = 'enemy'; echo $foo[bar]; // etc ?>
This is wrong, but it works. The reason is that this code has an undefined constant (bar) rather than a string ('bar' - notice the quotes). PHP may in future define constants which, unfortunately for such code, have the same name. It works because PHP automatically converts a bare string (an unquoted string which does not correspond to any known symbol) into a string which contains the bare string. For instance, if there is no defined constant named bar, then PHP will substitute in the string 'bar' and use that.
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 04, 2011, 02:01
Версията на php e 5.2.12. Хоства се в superhosting.bg
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: neter в Mar 04, 2011, 16:58
сега ми дава грешка "Parse error: syntax error, unexpected $end in /home/evraziab/public_html/upload.php on line 456"
Не си затворил кода с ?> накрая ;)
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 04, 2011, 17:09
Същата работа
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: b2l в Mar 04, 2011, 17:17
//off Същата работа
Аре стига си чакал на готово, че почваш да ме ядосваш вече! Човека ти написа 456 реда код, а ти какво - не можеш да го пуснеш даже. Бахти мързелите бе!!!!
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 04, 2011, 17:31
backtolife, какво се нервиш? В началото бях споменал, че никога не съм се занимавал с php. За това, че човека ми е написал 500 реда код съм му наистина благодарен. До колкото виждам проблема идва от там, че версията която използват в суперхостинг е по-стара и за това не тръгва.
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: b2l в Mar 04, 2011, 17:34
До колкото виждам проблема идва от там, че версията която използват в суперхостинг е по-стара и за това не тръгва.
Дали?
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 04, 2011, 17:49
278. 279. view($response, $config);
PS: PHP 5.3+ А версията която ползвам е 5.2.12
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: neter в Mar 04, 2011, 17:53
Същата работа
Ако грешката е същата и след затварянето на кода, значи не си го направил както трябва. Просто е - сложи ?> в края на кода на нов ред, без допълнителни интервали преди него и без допълнителни интервали и редове след него (за всеки случай, може да се изисква стриктност). И понеже е толкова лесно да се затвори кодът, ще предположа, че грешката не е същата. Ако е така, покажи ни новата грешка ;) P.S.: Наистина има нужда да впрегнеш повече собствен размисъл в действията си. Дебъгването го изисква. Разминаването във версии не би изкарало грешката, за която спомена последно.
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: tommy.bg в Mar 04, 2011, 18:02
Затворил съм го . Интервали няма, както и нови редове. Ето как съм го затворил: GeSHi (PHP): if (validateInput($request, $response, $config)) uploadFile($request, $response, $config); describeFile($request, $response, $config); getList($response, $config); view($response, $config); ?>
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: b2l в Mar 04, 2011, 18:06
Затворил съм го . Интервали няма, както и нови редове. Ето как съм го затворил:
if (validateInput($request, $response, $config))
uploadFile($request, $response, $config);
describeFile($request, $response, $config);
getList($response, $config);
view($response, $config); ?> Изтрил си отварящата и затварящата скоба на блока на if-а. ( {} - за това говоря ). PS: Добре, не си се занимавал до сега с php - ОК. Поне преписвай правилно де!
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: neter в Mar 04, 2011, 18:06
Виждам липсващи {} скоби в този пример в сравнение с даденото от VladSun. Къде са? Така ли преписва и останалата част? Всъщност, тези скоби не са единствената разлика между твоето копие и даденото от VladSun. Хайде сега направи по-читаво копие на кода ;)
P.S.: Подсказка - пробвай какво се случва, когато пред "EOT;" има и когато няма допълнителни интервали ;) Намести си кода.
P.S.1: Тази специфика е една от причините да не съм особен фен на този тип подаване на html-а (а и на каквито и да е данни), но... ако човек внимава, не е проблем.
Титла: Re: Php файл да качва видео клип и да пише в xml файл
Публикувано от: VladSun в Mar 07, 2011, 11:17
Пак ти казвам - направи директен copy-paste. Нямам представа защо след като нищо не разбираш от PHP си позволяваш да променяш сорса... За PHP5.3- версии замести тази част: GeSHi (PHP): if (!empty($response['files'])) { $fileListView = ''; foreach ($response['files'] as $fileName) { } $fileListView = sprintf($listTemplate, $fileListView); }
|