Решил написать сюда. Делаю подгрузку файлов на сервер. На клиенте естественно input type=file, метод, как и полагается POST. На сервере использую функцию Код (Text): $filename="/photos/".$num.$_FILES['image']['name']; $f=fopen("log.txt","w"); if(move_uploaded_file($_FILES['image']['tmp_name'],$filename)) fwrite($f,"Подгружено");else fwrite($f,"Ошибка подгрузки» ".$filename." Ошбика ".$_FILES['image']['error']); fclose($f); Смотрю в log.txt, $_FILES['image']['error']=0. Т.е. файл подгрузился. Но при этом в логе апача вижу Код (Text): [Thu Jul 31 19:32:15 2008] [error] [client 10.235.148.236] PHP Warning: move_uploaded_file(/photos/1loco.bmp) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: No such file or directory in D:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\2\\admin\\admin.php on line 72, referer: http://mychajlo/2/admin/admin.php?mode=event&id=3 [Thu Jul 31 19:32:15 2008] [error] [client 10.235.148.236] PHP Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move 'd:\\Temp\\php289.tmp' to '/photos/1loco.bmp' in D:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\2\\admin\\admin.php on line 72, referer: http://mychajlo/2/admin/admin.php?mode=event&id=3 В php.ini установки следующие Код (Text): ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). upload_tmp_dir ="d:\Temp" ; Maximum allowed size for uploaded files. upload_max_filesize = 2M По логике работы файл должен быть сохранён в папку /photos, которая является подпапкой админки. Но этого не происходит. Не могу понять в чём дело?
А где первый раз-то? Что-то не припоминаю. Кстати, по сути вопроса так и не в курсе? Или ссылочку какую-нибудь хорошую?
Это первый, второй модераторы уже удалили http://php.ru/forum/viewtopic.php?t=13220 (этот) http://php.ru/forum/viewtopic.php?t=13221 (и тут ещё был)
Ну и правильно сделали, это видать браузер глюканул, дважды послав. Кстати, уже 67 человек просмотрело, а так никто и не знает, где у меня ошибка: в коде или в настройках сервака.
Папка d:\Temp cуществует и даже, как видно из лога файл туда записывается. Вот переноситьcя оттуда не переносится. А полный путь надо указывать в нотации Windows или Linux? И что тогда корень: корень диска или папка htdocs? И вообще полный путь бы не хотелось указывать, чтобы это не влияло на переносимость скриптов.
Попробуй PHP: <?php // если путь относительно выполняемого скрипта $filename=dirname(__FILE__)."/photos/".$num.$_FILES['image']['name']; ?> или даже PHP: <?php // если путь относительно корня сайта $filename=$_SERVER["DOCUMENT_ROOT"]."/photos/".$num.$_FILES['image']['name']; ?> (на переносимость не повлияет никак) Хотя я бы даже использовал для этого sprint (выглядить будет "логичнее") всё-же РНР это идеология открытого кода который пишется не для того чтоб "просто работал" но и был понятным...
Попробовал сделать так Код (Text): $filename=dirname($_SERVER['PHP_SELF'])."/photos/".$num.$_FILES['image']['name']; $f=fopen("log.txt","w"); if(move_uploaded_file($_FILES['image']['tmp_name'],$filename)) fwrite($f,"Файл подгрузился");else fwrite($f,"Файл ".$filename." РЅРµ подгрузился. РћС?РёР±РєР° ".$_FILES['image']['error']); fclose($f); В error.log написаны следующие сообщения об ошибках Код (Text): [Fri Aug 01 20:44:39 2008] [error] [client 10.235.148.53] PHP Warning: move_uploaded_file(/2/admin/photos/2race.JPG) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: No such file or directory in D:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\2\\admin\\admin.php on line 72, referer: http://mychajlo/2/admin/admin.php?mode=event&id=3 [Fri Aug 01 20:44:39 2008] [error] [client 10.235.148.53] PHP Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move 'd:\\Temp\\php94B.tmp' to '/2/admin/photos/2race.JPG' in D:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\2\\admin\\admin.php on line 72, referer: http://mychajlo/2/admin/admin.php?mode=event&id=3