Здравствуйте. Я новичек, поэтому многое не понимаю... Есть код: Код (Text): $photo = ''; for ($buf = 1; is_file($_FILES['foto_'.$buf]['tmp_name']); $buf++) { move_uploaded_file($_FILES['foto_'.$buf]['tmp_name'], $_SERVER["DOCUMENT_ROOT"]."/".$dest.$_FILES['foto_'.$buf] ['name']); $photo .= '<img border="0" src="/'.$dest.$_FILES['foto_'.$buf]['name'].'">'; } echo($photo); Он достает из формы изображения которые выбрал пользователь... Как поправить код так, что бы на выходе создавались 5 переменных $photo1=изображение 1 $photo2=изображение 2 $photon=изображение n Зараннее спасибо за ответы.
Вот кусок формы, там еще много чего передается, я ненужное опустил: Код (Text): ...... <table> <tr> <td width="160">Photo 1</td><td><input type="file" name="foto_1" /></td> </tr> <tr> <td>Photo 2</td><td><input type="file" name="foto_2" /></td> </tr> <tr> <td>Photo 3</td><td><input type="file" name="foto_3" /></td> </tr> <tr> <td>Photo 4</td><td><input type="file" name="foto_4" /></td> </tr> <tr> <td>Photo 5</td><td><input type="file" name="foto_5" /></td> </tr> </table> <br /><input type="submit" name="regbtn" value="Submit"/></form> Вот кусок который принимает файлы: Код (Text): $dest = 'uploads/'; $photo = ''; for ($buf = 1; is_file($_FILES['foto_'.$buf]['tmp_name']); $buf++) { move_uploaded_file($_FILES['foto_'.$buf]['tmp_name'], $_SERVER["DOCUMENT_ROOT"]."/".$dest.$_FILES['foto_'.$buf]['name']); $photo .= '<img border="0" src="/'.$dest.$_FILES['foto_'.$buf]['name'].'">'; } echo($photo);
Код (Text): $dest = 'uploads/'; for ($buf = 1; is_file($_FILES['foto_'.$buf]['tmp_name']); $buf++) { move_uploaded_file($_FILES['foto_'.$buf]['tmp_name'], $_SERVER["DOCUMENT_ROOT"]."/".$dest.$_FILES['foto_'.$buf]['name']); $photo.$buf .= '<img border="0" src="/'.$dest.$_FILES['foto_'.$buf]['name'].'">'; } echo($photo1); echo($photo2); echo($photo3); echo($photo4); echo($photo5);
дак мне нужно что бы я мог использовать эти переменные после цикла, после всего, мне нужно засунуть каждую переменную в бд... в цикле переменные должны только получить значения.
По идее вот эта строчка присваивает значение переменой photo: Код (Text): $photo.$buf .= '<img border="0" src="/'.$dest.$_FILES['foto_'.$buf]['name'].'">'; но почему то на выходе они все пустые... Или я что то не так делаю? Как сделать так что бы в том коде присваивались значения переменным photo , которые можно потом каждую в бд засунуть?
точку перед равно убери (сори я с телефона) ну и в бд пиши ппям в цикле....хотя цикл у тебя какой-то странный...он наверное "не крутится" у тебя )))
К сожалению та же картина( убрал точку перед = но при Код (Text): echo($photo1); echo($photo2); echo($photo3); echo($photo4); echo($photo5); ничего не происходит...
Код (PHP): .... $photo[] = '<img border="0" src="/'.$dest.$_FILES['foto_'.$buf]['name'].'">'; .... foreach($photo as $key => $value) ....
Спасибо помогло! Добавлено спустя 19 минут 57 секунд: Теперь вылезла еще одна проблема переместил скрипт на хост а там: Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/uploads/a43941f11753.jpg) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/u211151957/public_html/reg.php on line 54 Я так понял, что он не может найти папку по указанному адресу, а $_SERVER["DOCUMENT_ROOT"] содержит путь к корневой папке апача... у себя на компьютере вышел из этой ситуации просто добавив к пути для сохранения файла папку в котором лежит сам сайт, на хосте не могу понять как сделать так, что бы он находил путь?