Полагаю, имелось ввиду тип столбца для ссылок - достаточно char(100) или varchar(100) в зависимости от типа таблицы (char для фиксированной, varchar для динамичной).Какой тип должен содержать эти ссылки?
CREATE TABLE zagotovka(.....foto varchar(100) not null,....);
mysql_query('INSERT INTO zagotovka (..,foto,..) values("..........")'); <----что здесь указывается URL?
Если у вас папка загрузок не будет меняться в течении времени, то достаточно хранить название файла foto_1.gif, если будет, то храните в виде dir1/foto_1.gif.например у меня папка находиться Z:\home\localhost\www\allfoto, а нужная фотография в этом альбоме наз. foto_1.gif. Если да, то как именно написать?
md5('foto_1.gif');
А можно отсюда поподробней?На заметку: лучше не сохранять название файла в неизменном виде, а хешировать его, дабы не столкнутьсяс с дублями.
Код:md5('foto_1.gif');
// определяем файлу уникальное имя
$img_name = md5 ($_FILE['file']['name'].mktime ()).'.'.pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
// перемещаем файл в нужную папку под этим именем
move_uploaded_file ($_FILE['file']['tmp_name'], 'path/to/images/'.$image_name);
// записываем имя файла в базу
mysql_query ("UPDATE photos SET filename='$img_name') or die ("файла патиряласяма");
Я поторопился с ответом и не написал, что для защиты от дублей нужно к имени файла дописывать временную метку (time()). Подробно все описал уважаемый Tigra60 (+1).А можно отсюда поподробней?
1) что изменится, если захешировать 2 одинаковых имени файла? Хэш ведь тоже будет одинаковым
Если необходим поиск по файлам, тогда имеет смысл вести отдельную табличку с хэшем, исходными именами файлов(по необходимости), путями и описанием alt.2) Как потом это всё расхешировать, чтоб файл найти?