Приветствую! Есть форма загрузки файлов на сайт. PHP: if(isset($_FILES['file'])) { if (move_uploaded_file($_FILES['file']['tmp_name'],"uploads/".$_FILES['file']['name'])) { echo "<span class=tablebody>upload ok</span><br>"; //пишем в массив инфо о загруженных файлах $_SESSION['uploadfiles']['name'][]=$_FILES['file']['name']; $_SESSION['uploadfiles']['patch'][]="uploads/".$_FILES['file']['name']; $m=1; for ($i=0;$i<count($_SESSION['uploadfiles']['name']);$i++) { echo "<span class=grayhelp>$m</span><span class=tablebody>".$_SESSION['uploadfiles']['name'][$i]."</span><br>"; $m++; } } else { echo" upload failed<br>"; } echo<<<INFORM <span class=tablebody>Здесь вы можете загрузить свою аццкую {вырезано цензурой}</span><br> <form name=up method=POST ENCTYPE='multipart/form-data'> <input type=file name=file><input type=submit value="загрузить"> </form> </td></tr></table> INFORM; Проблема в следующем: 1) эта фигня работает только в отдельном файле 2) стоит мне ее оформить как функцию в скрипте - не работает т.е. файл находим, жмыкаем на загрузить - и все, видим опять форму а по идее должен строиться списочек загруженных файлов 3) собссна а в чем дело? Спасибо за внимание.
почитай ман по function() { операторы, тело функции }. Скорее всего ты забыл передать аргументы функции. Другими словами массив $_FILES['file']['name']; в функции не виден. Копай в эту сторону.
Svoronkov суперглобальный, не спорю ) но не работает же! так же любая переменная в функции имеет локальную область видимости. То-есть нюансов много!!!! Парочка на самом деле))) ты бы сюда код своей функции кинул.
ну тогда понятно. читай ман , там написано как переменные функции по ссылке передавать и в функции делать их глобальными да и дело тут не в передаче переменный по ссылке. Тебе просто надо переменные в функцию передать! например вот так: function MOE (&$var1, &$var2) { тело функции }
Hight А какие переменные мне надо передать в функцию? >:-() Если обратишь внимание - там два суперглобальных массива. Куда их передавать, если они суперглобальные и везде видны?
Если не ошибаюсь, то в теле функции виден только суперглобальный массив $GLOBALS[]; а передать функции тебе надо те переменные которые ты в функции используешь. это же очевидно )