|
|
|
|
$file_name = $_FILES['img1']['name'];
$file_name = strrchr($file_name, ".");
$filename = $_FILES['img1']['tmp_name'];
$s = "ORDER BY `id` DESC";
$bd = mysql_query("select * from newyear $s LIMIT 0,1;");
$list = mysql_fetch_array($bd);
$nom=($list['id']+1);
$ext = substr($_FILES['img1']['name'], 1 + strrpos($_FILES['img1']['name'], "."));
$ext =mb_strtolower($ext);
$size = $_FILES['img1']['size'];
$siz = round(($size/1024), 2);
if ((@move_uploaded_file($filename, "$nom.$ext")) &&
(mysql_query
("INSERT INTO `newyear`
( `foto`, `size`)
VALUES
('$nom.$ext', '$siz')
")
))
{
echo 'Успешно.';
echo'<br><a href=".">Вернутся</a><br>';
}
else
{
echo 'Ошибка.';
echo'<br><a href=".">Вернутся</a><br>';
}
|
Все проверил,оказалось не работает строка
((@move_uploaded_file($filename, "$nom.$ext"))
|
Как с этим бороться,непонимаю..Может кто поможет. | |
|
|
|
|
|
|
|
для: ekstrom
(07.04.2010 в 20:11)
| | У вас не только это не работает. У вас почти после каждой строки неправильно работает.
В поиске, который есть на этом форуме, ищите "Вывод ошибок на экран" или error_reporting
((@move_uploaded_file($filename, "$nom.$ext"))
Заглушка перед move_uploaded_file зачем? $nom.$ext - конкатенация переменных, зачем переменные брать в кавычки?
$bd = mysql_query("select * from newyear $s LIMIT 0,1;"); - здесь тоже ошибка. Внимательно посмотрите.
$ext = substr($_FILES['img1']['name'], 1 + strrpos($_FILES['img1']['name'], "."));
Если у файла будет название asd.asd.php в $ext окажется совсем не расширение файла... И у вас substr обрежет первый символ строки.
В какой кодировке написан скрипт? | |
|
|
|
|
|
|
|
для: Лена
(07.04.2010 в 21:07)
| | > $nom.$ext - конкатенация переменных, зачем переменные брать в кавычки?
<?php
$nom = 'name';
$ext = 'jpg';
echo "$nom.$ext"; // name.jpg
echo $nom.$ext // namejpg
|
strrpos() - находит последнее вхождение
> здесь тоже ошибка. Внимательно посмотрите
Какая? Точка с запятой? Mysql, насколько я помню, позволяет делать это из скриптов, а если через консоль - то без ; вообще хрен запрос отправишь. | |
|
|
|
|
|
|
|
для: neadekvat
(07.04.2010 в 21:10)
| | echo "$nom.$ext"; // name.jpg
echo $nom.$ext // namejpg
Увидела. Я так не делаю. Лучше уже echo $nom. "." . $ext; - так меньше запутываешься.
>Какая? Точка с запятой?
После 1.
>strrpos() - находит последнее вхождение
Это да... одну r прозевала. | |
|
|
|
|
|
|
|
для: Лена
(07.04.2010 в 21:32)
| | > Увидела. Я так не делаю. Лучше уже echo $nom. "." . $ext; - так меньше запутываешься.
Однако же это не ошибка..
Хотя я тоже делаю так, как вы показали.
> После 1.
Именно про это я и сказал | |
|
|
|
|
|
|
|
для: ekstrom
(07.04.2010 в 20:11)
| | > $ext = substr($_FILES['img1']['name'], 1 + strrpos($_FILES['img1']['name'], "."));
> $ext = mb_strtolower($ext);
Вопрос про кодировку уже задали..
В if лишних скобок наставили, по-моему.
Уберите @ и поставьте error_reporting(E_ALL), я думаю, можете много нового узнать об отношении интерпритатора к вашему скрипту. | |
|
|
|
|
|
|
|
для: neadekvat
(07.04.2010 в 21:18)
| | кодировка utf-8
с проблемой разобрался,папка не позволяла сохранять в ней данные через форму. | |
|
|
|
|
|
|
|
для: ekstrom
(07.04.2010 в 21:43)
| | тогда mb_substr и mb_strrpos.. и вообще | |
|
|
|