|
|
|
| Пытаюсь загрузить картинку из формы - ничего не получается.
Мне кажется проблема в пути к записываемому файлу...
Текст :
<?
//добавление картинки на сервер
if(!@$b1)
{
//если кнопка b1 не была нажата - выводим форму добавления картинки
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">
</head>
<form action="<?=$SCRIPT_NAME?>" method=POST enctype=multipart/form-data>
Выкладываем на сервер файлы картинок в формате JPEG<br>
Маленькая картинка:
<input type=file name="img1"><br>
<input type="submit" value=",.. и добавить." name="b1">
<input type="reset" value="Reset" name="B2">
</form>
<br>
<?
}
else
{
$x=$_FILES['img1']['name'];
echo "Имя файла (введенного) $x";
$path = './objects/admin/image.jpg';
move_uploaded_file($_FILES['img1']['tmp_name'],$path) or die ("не
записано");
echo "Записано";
}
?>
Сам он лежит на: http://www.artlight.ru/objects/admin/file1.php
Посоветуйте, как правильно сделать. | |
|
|
|
|
|
|
|
для: Artlight
(25.10.2005 в 16:31)
| | А что именно-то не получается? Как себя ведет скрипт? | |
|
|
|
|
|
|
|
для: multiBrain
(25.10.2005 в 17:11)
| | Если в форме выбрать картинку и нажать "отправить", то ругается следующим образом:
Имя файла (введенного) 41972.jpg
Warning: move_uploaded_file(./objects/admin/image.jpg): failed to open stream: No such file or directory in /opt/xtraff2/ftp_users/ftp112/htdocs/objects/admin/file1.php on line 38
Warning: move_uploaded_file(): Unable to move '/xtraff/ftp_users/ftp112/temp/phpzLOLkN' to './objects/admin/image.jpg' in /opt/xtraff2/ftp_users/ftp112/htdocs/objects/admin/file1.php on line 38
не записано | |
|
|
|
|
|
|
|
для: Artlight
(25.10.2005 в 16:31)
| | Вообще, ваш скрипт никуда не годится, если честно :) Делается это всё немного подругому. Главный ваш недочёт - Вы не учли тот момент, что юзеры могут закачать файл с одним и тем же именем, что приведёт к ошибке (т.к. на сервере такой уже существует). | |
|
|
|
|
|
|
|
для: DDK
(25.10.2005 в 18:22)
| | А на каком уровне (каталога) исполняется скрип. Т.е. там где лежит (file1.php) или он гдн-то инклудится. Если там где лежит (objects/admin/fil1.php) и картинка туда же, может поробовать в $path записывать image.jpg без (./objects/admin/) (кстати что эта за точка стотит в начале ./objects/). | |
|
|
|
|
|
|
|
для: multiBrain
(25.10.2005 в 18:26)
| | 1.Скрипт исполняется там где лежит
2.Картинку хотелось бы записать в objects/img/ но пока вообще никуда не получается
3. Под Денвером у меня работает такой вариант:
В форме:
<input type=file name="img1">
В скрипте:
$path="../img/image.jpeg";
copy($img1, $path);
Всё записывается, но на сервере это не заработало. Хостер вчера ответил:
Оно и не должно так работать. Правильнее сделать вот так:
$path - это полный путь файла, например
$path = './files/image.jpg';
move_uploaded_file($_FILES['img1']['tmp_name'],$path);
4.точка в начале ./objects/ из ответа хостера, но если её убрать, тоже ничего не получается
5.Скрипт на objects/admin/fil1.php - отладочный, чтобы понять, как записывать файлы.
Два дня уже с этим мучаюсь, скоро помру. | |
|
|
|
|
|
|
|
для: Artlight
(25.10.2005 в 19:16)
| | Вот только вчера тоже самое делал, вот такой код
<?
if(is_uploaded_file($_FILES['img']['tmp_name']))
{
echo'Pic uploaded.<br>';
$_pic=move_uploaded_file($_FILES['img']['tmp_name'],'../catalog/pics/'.$_type.'_'.$_row['new_id'].'.jpg');
if($_pic)echo'Pic move_uploaded_file.';
}?>
|
отлично работает.
А на локаохосте -то хотя бы работает? | |
|
|
|
|
|
|
|
для: multiBrain
(25.10.2005 в 19:28)
| | >А на локаохосте -то хотя бы работает?
Под Денвером на моём компютере работает и так:
$path='../img/image2.jpg';
и так:
$path='image2.jpg';
на сервере заработало так: $path='image2.jpg';
P.S.
Хостер ответил.
Оказывается на каталогг, в который пишутся файлы надо ставить 777
(раньше говорил, что 755)
Он сам исправил, поэтому и $path='image2.jpg'; на сервере заработало.
сам поправил /objects/img/ на 777 - заработало $path='../img/image2.jpg';
Возник вопрос:
Хостер поставил в моем скрипте: $path='./image2.jpg'; (перед чертой точка) - работает
но у меня работает и $path='image2.jpg';
Пишется в обоих случаях в тот-же каталог, где находится скрипт
Это что - синонимы?
Ответьте пожалуйста, а то у хостера не хочется спрашивать. | |
|
|
|
|
|
|
|
для: Artlight
(25.10.2005 в 19:59)
| | Да, это синонимы. | |
|
|
|