Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Закачка файла скриптом с винта |
Автор: Denn 20.10.2003, 12:15 |
Приветствую всех. Такая проблема: Простенький скриптик на cdmagazin.ru/test.php его тело: <? if(copy("E:\\1.jpg", "1.jpg")){echo 'Работает!';} ?> PHP выдаёт ошибку: Warning: copy(E:\1.jpg) [function.copy]: failed to create stream: No such file or directory in /home2/cdmagazinru/www/test.php on line 2 В чём проблема ![]() |
Автор: frost 20.10.2003, 12:17 | ||
Извините, я в пхп ни в зуб, а в нём так надо - два бэкслэша? |
Автор: Unregistered 20.10.2003, 12:22 |
По правилам, один работать не будет, читайте документацию... |
Автор: MuToGeN 20.10.2003, 13:19 |
А фаилик e:\1.jpg на сервере-то существует? Там вообще e:\ есть? |
Автор: Denn 20.10.2003, 15:24 |
Нет, поставим вопрос по другому. Каким кодом можно сделать так, чтобы пользователь мог закачать на сервер любой файл? Естественно посредством формы. |
Автор: MuToGeN 20.10.2003, 15:33 |
> Каким кодом можно сделать так, чтобы пользователь мог закачать на сервер любой файл? См. FAQ |
Автор: Unregistered 24.11.2003, 16:46 |
эт самое а у тебя книжка наверна есть такая большая красная "пхп для профессионалов" вот там и почитай |
Автор: Root 25.11.2003, 22:54 |
Для таких целей используется функция move_uploaded_file() |
Автор: pascal 26.11.2003, 13:17 | ||
Настоятельно не рекомендую!!! всто неё используй copy и unlink |
Автор: MuToGeN 26.11.2003, 14:10 | ||
|
Автор: pascal 26.11.2003, 14:22 | ||
Да по тому что особенно бесплатные хостинги используют всяческие извращения чтобы перекрыть доступ к некоторым возможностям и повысить безопасность и я очень часто встречаю ситуации когда файлы загружаются с никому непонятными правами доступа, и потом начинаются глюки с этми файлами, а функция copy копирует файл создавая при этом самый нормальный файл копию, а старый удаляется... |
Автор: MuToGeN 26.11.2003, 15:01 |
понятно |
Автор: r_inferno 29.11.2003, 16:12 |
Подобная проблема: Есть первый файл с формой для заливки файла: <form action = "uploadpr.php" method="post" name = "form1"> <input type="hidden" name ="MAX_FILE_SIZE" value="2000000"> Залить файл: <input type="file" name="thefile"><br><br> <input type="submit" name="Submit" value="Залить"> </form> файл uploadpr.php: <?php $aNewName=dirname($PATH_TRANSLATED)."/file.zip"; if (is_uploaded_file($thefile)) move_uploaded_file($thefile, $aNewName);else print "фигня вышла<br>"; print "thefile: $thefile<br>thefile_name: $thefile_name<br>"; ?> Так вот, переменная $thefile становиться равной D:\\p\\f.zip (это имя файла, которой я хотель залить), а $thefile_name - пустая. Почему так? Ведь вроде все правильно. |
Автор: Root 30.11.2003, 01:15 |
Вот ещё код: <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <? CheckAuth(); if($mode == "gen_form") { $cnt = 0; print '<align="center"><b>Выберите файлы</b></center>'; print '<form action="go.php?module=news&submod=upload_graph&mode=upload" method="post" enctype="multipart/form-data" name="form1">'; while($cnt != $files_count) { print "<input type=\"file\" name=\"file".$cnt."\"><br>"; $cnt++; } print "<input type=\"hidden\" name=\"files_count\" value=\"$files_count\">"; print "<div align=\"center\"><input type=\"submit\" value=\"Закачать\"></div></form>"; } else if($mode == "upload") { $dest = $_SERVER['DOCUMENT_ROOT']."/newsimage/"; //Каталог, куда качаем файлы $count = 0; //Первый файл print "<b>На сервер были закачаны следующие файлы:</b> "; while($count != $files_count) { $fname = "file".$count; //Имя файла $serv_name = "file".$count."_name"; if (move_uploaded_file($$fname, $dest.$$serv_name)) { print $$serv_name.", "; } else {print "Ошибка в файле:".$$serv_name.", "; } $count++; } print "<a href=\"go.php?module=news\">Вернуться к управлению новостями</a>"; } else{ print " <align=\"center\"></b>Закачать графику к новостям<b></center> <form action=\"go.php?module=news&submod=upload_graph&mode=gen_form&uid=".$uid."\" method=\"post\" enctype=\"multipart/form-data\" name=\"form1\"> <table width=\"75%\" border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"2\"> <tr> <td>Сколько файлов загрузить?</td> <td><input name=\"files_count\" type=\"text\" id=\"files_count\"></td> </tr> </table> <br><div align=\"center\"> <input type=\"submit\" value=\"Ответ\"> </div> </form> "; } ?> |
Автор: Wowa 30.11.2003, 02:16 | ||
ты забыл: enctype="multipart/form-data" |
Автор: MuToGeN 30.11.2003, 05:37 | ||
|