|
|
|
| Есть скрипт загрузки фото...он лежит в одной папке с папкой images, т-е на одном уровне вложенности.
В скрипте прописан путь:
$uploaddir = 'images/'; // Relative path under webroot
$uploadfile = $uploaddir . basename($_FILES['fileToUpload']['name'][$i]);
|
Т-е файл должен загрузится в папку images
Но грузит в корень сайта почему-то. | |
|
|
|
|
|
|
|
для: OLi
(03.06.2011 в 19:37)
| | А вы непосредственно перед копированием файла выведите значение $uploadfile - в нем никаких аномалий нет? | |
|
|
|
|
|
|
|
для: cheops
(03.06.2011 в 19:56)
| | Выводит images/1.jpg | |
|
|
|
|
|
|
|
для: OLi
(03.06.2011 в 19:59)
| | в чем дело? | |
|
|
|
|
|
|
|
для: OLi
(03.06.2011 в 19:59)
| | А как копирование файла производится? Приведите эту строчку (нет там модификации пути прямо в аргументах функции)? | |
|
|
|
|
|
|
|
для: cheops
(03.06.2011 в 20:22)
| |
for ($i = 0; $i<count($_FILES); $i++) {
$fg=mysql_query("select id as `q` from listings order by id desc limit 1");
$dd=mysql_fetch_array($fg);
$nmb=mt_rand (1, 9999);
$nmy=$nmb;
$filename=basename($_FILES['fileToUpload']['name'][$i]);
$uploaddir = 'images/'; // Relative path under webroot
echo $uploadfile = $uploaddir . basename($_FILES['fileToUpload']['name'][$i]);
if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'][$i], $uploadfile)) {
echo "Успешно загружено.\n";
rename($uploadfile, $nmy.'.jpg');
createThumbnail($filename,$uploadfile,$nmy);
$add_photos=mysql_query("INSERT INTO images (listid, fname) VALUES ('$dd[q]+1', '".$uploadfile."')");
if ($add_photos==false){$error='Ошибка занесения в базу';}
} else {$error="Ошибка загрузки фото";}
}
|
| |
|
|
|
|
|
|
|
для: OLi
(03.06.2011 в 20:36)
| | Ага, дело в этой строке
rename($uploadfile, $nmy.'.jpg');
| Она берет файл из директории images, переименовывает и помещает в директорию рядом со скриптом, так как в $nmy нет директории, только имя файла. | |
|
|
|
|
|
|
|
для: cheops
(03.06.2011 в 21:05)
| | Спасибо. я засунул rename('images/'.$filename, $nmb.'.jpg'); в функцию createThumbnail($filename,$uploadfile,$nmy);
в функцию...но она тоже создает переименованный файл не в папке images | |
|
|
|
|
|
|
|
для: OLi
(04.06.2011 в 12:18)
| | Попробуйте сначала добиться того, чтобы rename не перемещала файлы, никуда её не перемещая. Совершая сразу несколько действий можно внести какие-то новые изменения, которые на ситуацию не повлияют. | |
|
|
|
|
|
|
|
для: cheops
(04.06.2011 в 14:00)
| | Я просто других вариантов не вижу, поэтому и пишу.. | |
|
|
|
|
|
|
|
для: OLi
(04.06.2011 в 14:31)
| | Сначала просто в этой строке
rename($uploadfile, $nmy.'.jpg');
| сделайте так, чтобы второй параметр также содержал в начале подкаталог images/
rename($uploadfile, $uploaddir.$nmy.'.jpg');
| а потом уже, когда эта строка будет вести себя как надо можно начинать передвигать её. | |
|
|
|