echo '<form action="admin_book/add_book.php" method="POST" enctype="multipart/form-data">
Рисунок: <br> <input type="file" name="filename" size="40" ><br> <br>
Наименование: <br> <input type="text" name="item_name" size="100"><br><br>
Описание: <br> <textarea name="item_desc" cols="100" rows="12" ></textarea><br><br>
Цена: <br> <input type="text" name="item_price" size="40" ><br><br>
Авторы: <br> <input type="text" name="item_author" size="80" ><br><br>
Публикационные данные: <br> <textarea name="item_publisher" cols="70" rows="6" ></textarea><br><br>
Раздел: <br> <select name="item_chapter" style="width : 200">
<option value="Автоматика">Автоматика</option>
<option value="Автомобили и автомобильное хозяйство">Автомобили и автомобильное хозяйство</option>
<option value="Аккумулирующие резервуары">Аккумулирующие резервуары</option>
<option value="Военная техника">Военная техника</option>
<option value="Высшее образование">Высшее образование</option>
<option value="Вычислительная техника">Вычислительная техника</option>
<option value="Инженерное дело">Инженерное дело</option>
<option value="Иностранные языки">Иностранные языки</option>
<option value="Информационные технологии">Информационные технологии</option>
<option value="Литейное производство">Литейное производство</option>
<option value="Математика">Математика</option>
<option value="Машиностроение">Машиностроение</option>
<option value="НауковедениеНауковедение</option>
<option value="Начертательная геометрия">Начертательная геометрия</option>
<option value="Политология">Политология</option>
<option value="Правоведение">Правоведение</option>
<option value="Социология">Социология</option>
<option value="Теплотехника">Теплотехника</option>
<option value="ТракторостроениеТракторостроение</option>
<option value="Управление предприятием">Управление предприятием</option>
<option value="Физика">Физика</option>
<option value="Философия">Философия</option>
<option value="Химия">Химия</option>
<option value="Экономика">Экономика</option>
</select><br><br>
<input type="submit">
</form>';
admin_book/add_book.php - в этом файле следующее
$uploaddir = 'http://library.vstu.ru/lib/images/shop/';
$request = "select MAX(item_id) from shop ";
$result = mysql_query($request);
$row_count = mysql_fetch_row($result);
$row['item_id'] = $row_count[0]+1;
$row['item_name']=$_POST['item_name'];
$row['item_desc']=$_POST['item_desc'];
$row['item_price']=$_POST['item_price'];
$row['item_author']=$_POST['item_author'];
$row['item_publisher']=$_POST['item_publisher'];
$row['item_chapter']=$_POST['item_chapter'];
$uploadfile = $uploaddir.$row['item_id'];
$uploadfile = $uploadfile.".jpg";
$sql_count="SELECT * from chapter_shop where name=".$row['item_chapter'];
$result_count = mysql_query($sql_count);
$row_count = mysql_num_rows($result_count);
if($row_count[0]==0){
$sql_add_chapter = "INSERT INTO `chapter_shop` ( `id` , `name` , `inf` ) VALUES ('', '".$row['item_chapter']."', '');" ;
$result__add_chapter = mysql_query($sql_add_chapter);
}
$sql="INSERT INTO `shop` SET `item_name`='".$row['item_name']."', `item_desc`='".$row['item_desc']."', `item_price`='".$row['item_price']."',
`item_author`='".$row['item_author']."', `item_publisher`='".$row['item_publisher']."', `item_chapter`='".$row['item_chapter']."', `item_id`=".$row['item_id'];
$result = mysql_query($sql);
$uploadfile = $uploaddir.$row['item_id'];
$uploadfile = $uploadfile.".jpg";
$file_scr = $_FILES['filename']['tmp_name'];
$file_dst = $uploadfile;
echo $file_scr;
echo $file_dst;
//move_uploaded_file($_FILES['filename']['tmp_name'],"$uploaddir" );
copy($file_scr, $file_dst);
в базу все добавляется, а файл не копируется. в чем может быть проблема??? (подключение к базе есть, просто не написал)
Спустя 24 минуты, 45 секунд (20.04.2010 - 22:49) Unlikely написал(а):
Возможно у каталога не стоит 777
Спустя 9 часов, 32 минуты, 52 секунды (21.04.2010 - 08:22) olgatcpip написал(а):
если есть вероятность, что файла нет, то то проверяй и создавай каталог.
Спустя 6 часов, 33 минуты, 10 секунд (21.04.2010 - 14:55) AntonNABSAL написал(а):
Цитата (olgatcpip @ 21.04.2010 - 05:22) |
если есть вероятность, что файла нет, то то проверяй и создавай каталог. |
что значит файл не находится? я же просто нажимаю обзор и выбира его, а на сервер не кидается он(((
Спустя 4 часа, 11 минут, 40 секунд (21.04.2010 - 19:07) KronuS написал(а):
AntonNABSAL, Вам же Unlikely написал - проверьте чмод каталога, куда Вы хотите записать файл.
Спустя 16 часов, 45 минут, 51 секунда (22.04.2010 - 11:53) AntonNABSAL написал(а):
Цитата (KronuS @ 21.04.2010 - 16:07) |
AntonNABSAL, Вам же Unlikely написал - проверьте чмод каталога, куда Вы хотите записать файл. |
что проверить??? я наверно не до конца понимаю.
Спустя 4 минуты, 39 секунд (22.04.2010 - 11:58) waldicom написал(а):
$uploaddir = 'http://library.vstu.ru/lib/images/shop/';
Это что за прикол? Обычно путь указывают абсолютный или относительный (например /var/www/tyndex/files), но вот чтобы вот такой...
А проверить Вас просят права на папку.
Что на сервере стоит? Windows? Linux?
Спустя 45 минут, 11 секунд (22.04.2010 - 12:43) AntonNABSAL написал(а):
Цитата (waldicom @ 22.04.2010 - 08:58) |
$uploaddir = 'http://library.vstu.ru/lib/images/shop/'; Это что за прикол? Обычно путь указывают абсолютный или относительный (например /var/www/tyndex/files), но вот чтобы вот такой... А проверить Вас просят права на папку. Что на сервере стоит? Windows? Linux? |
линукс стоит
Спустя 14 минут, 53 секунды (22.04.2010 - 12:58) sl4mmer написал(а):
AntonNABSAL
в нашем случае права 0777
chmod ('каталог или папка', 'права');
в нашем случае права 0777
Спустя 13 минут, 59 секунд (22.04.2010 - 13:12) waldicom написал(а):
Тогда для начала укажите правильный путь к папке, выставьте правильные права для папки (выше сказали как) и используйте функцию move_uploaded_file()
Спустя 40 минут, 33 секунды (22.04.2010 - 13:52) AntonNABSAL написал(а):
Цитата (waldicom @ 22.04.2010 - 10:12) |
Тогда для начала укажите правильный путь к папке, выставьте правильные права для папки (выше сказали как) и используйте функцию move_uploaded_file() |
поробую, и отпишусь. спасибо
Спустя 31 минута (22.04.2010 - 14:23) AntonNABSAL написал(а):
Цитата (AntonNABSAL @ 22.04.2010 - 10:52) | ||
поробую, и отпишусь. спасибо |
все равено не копирует((( /hosts/library/www/tmp/phpp5nUcS - нормально, что он выводит такой путь? это путь откуда берется картинка
Спустя 34 минуты, 9 секунд (22.04.2010 - 14:57) waldicom написал(а):
Цитата (AntonNABSAL @ 22.04.2010 - 13:23) |
все равено не копирует((( /hosts/library/www/tmp/phpp5nUcS - нормально, что он выводит такой путь? это путь откуда берется картинка |
Да, это видимо temp-папка
По-порядку:
1. Выбрать папку на сервере, в которой будут храниться файлы, например это
/hosts/library/files (естественно, что не обязательно такая)
2. выполнить в шелле команду:
Цитата |
chmod 777 /hosts/library/files |
3. В скрипте использовать примерно такое:
$path_to_server = '/hosts/library/files/';
$newFileName = $path_to_server . $_FILES['uploadfile']['name'];
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $newFileName)) {
echo 'файл сохранен успешно'
}else{
echo 'ошибка: ' . $_FILES['uploadfile']['error'];
}
Спустя 15 минут, 2 секунды (22.04.2010 - 15:12) AntonNABSAL написал(а):
Цитата (waldicom @ 22.04.2010 - 11:57) | ||||
Да, это видимо temp-папка По-порядку: 1. Выбрать папку на сервере, в которой будут храниться файлы, например это /hosts/library/files (естественно, что не обязательно такая) 2. выполнить в шелле команду:
3. В скрипте использовать примерно такое: $path_to_server = '/hosts/library/files/'; |
сейчас попробую и отпишусь еще раз
Спустя 15 минут, 6 секунд (22.04.2010 - 15:27) AntonNABSAL написал(а):
$path_to_server = '../../images/shop/';
exec ("../../images/shop/");
$newFileName = $path_to_server . $_FILES['filename']['name'];
if (move_uploaded_file($_FILES['filename']['tmp_name'], $newFileName)) {
echo 'файл сохранен успешно';
}else{
echo 'ошибка: ' . $_FILES['filename']['error'];
}
пишу эти строки, все равно не пашет((( ошибка 0 выводимт
Спустя 3 минуты, 10 секунд (22.04.2010 - 15:31) waldicom написал(а):
Цитата (AntonNABSAL @ 22.04.2010 - 14:27) |
exec ("../../images/shop/"); |
Это что за строчка?
ОК, тогда надо попробовать дать абсолютный путь (начиная с "/" , а не с ".." )
И скопируйте сюда вывод после команды
Цитата |
ls -la /images/ |
Спустя 7 часов, 28 минут, 35 секунд (22.04.2010 - 22:59) KronuS написал(а):
А почему бы не воспользоваться dirname(__FILE__); для нахождения полного пути до файла скрипта. А потом уже на основе полученного пути указать путь к каталогу, в который происходит загрузка.