Забыли пароль?
Запросите новый здесь.

Автор темы: minka9
ID темы: 480
Информация:
Тема содержит 5 сообщения, была просмотрена 1705 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » PHP
 Распечатать тему
Порядок загрузки файла и SQL
minka9
Возникла проблема при загрузке файла,

Есть форма через нее и идет выбор файла,

[php]if ($_GET['upload'] == 'step_2' ) {

$upfilename = $_FILES['upfile']['name'];

$upfilename=strtr($upfilename,
"абвгдежзиклмнопрстуфхєэ",
"abvgdejziklmnoprstufhee");

$upfilename=strtr($upfilename,
"АБВГДЕЖЗИКЛМНОПРСТУФХЄЭ",
"ABVGDEJZIKLMNOPRCTUFHEE");


$upfilename=str_replace("ц", "ts", $upfilename);
$upfilename=str_replace("ч", "ch", $upfilename);
$upfilename=str_replace("ш", "sh", $upfilename);
$upfilename=str_replace("щ", "sch", $upfilename);
$upfilename=str_replace("я", "ya", $upfilename);
$upfilename=str_replace("ю", "yu", $upfilename);
$upfilename=str_replace("й", "yi", $upfilename);
$upfilename=str_replace("ы", "y", $upfilename);
$upfilename=str_replace("і", "i", $upfilename);
$upfilename=str_replace("ї", "yi", $upfilename);
$upfilename=str_replace("є", "e", $upfilename);
$upfilename=str_replace("ь", "", $upfilename);
$upfilename=str_replace("ъ", "", $upfilename);
$upfilename = str_replace('Ц','C',$upfilename);
$upfilename=str_replace("Ц", "TS", $upfilename);
$upfilename=str_replace("Ч", "CH", $upfilename);
$upfilename=str_replace("Ш", "SH", $upfilename);
$upfilename=str_replace("Щ", "SCH", $upfilename);
$upfilename=str_replace("Я", "YA", $upfilename);
$upfilename=str_replace("Ю", "YU", $upfilename);
$upfilename=str_replace("Й", "Y", $upfilename);
$upfilename=str_replace("Ы", "Y", $upfilename);
$upfilename=str_replace("І", "I", $upfilename);
$upfilename=str_replace("Ї", "YI", $upfilename);
$upfilename=str_replace("Ь", "", $upfilename);
$upfilename=str_replace("Ъ", "", $upfilename);

$upfilename = str_replace(" ","_",$upfilename);
$upfilename = str_replace("|","_",$upfilename);
$upfilename = str_replace("!","_",$upfilename);
$upfilename = str_replace("&","_and_",$upfilename);
$upfilename = str_replace("[","_",$upfilename);
$upfilename = str_replace("]","_",$upfilename);
$upfilename = str_replace("(","_",$upfilename);
$upfilename = str_replace(")","_",$upfilename);

$moveupfile = "./video/" . $upfilename;
move_uploaded_file($_FILES['upfile']['tmp_name'], $moveupfile);



$result = dbquery("INSERT INTO ".$db_prefix."video
(name, url, vuid, pk, comment, datestamp) VALUES ('".$_POST['name']."', 'video/$upfilename', '".$userdata['user_id']."', 'A', '".$_POST['comment']."', '".time()."')");

redirect("video_upload.php?upload=step_3");
}[/php]

Все хорошо только если отменить загрузку или приостановить запись будет добавлена, а файл не загрузиться, чего посоветуете чего не написал??
Изменил(а) minka9, 05.03.2011 21:04
 
Web
Polarfox
if(move_uploaded_file)

типа того короче.
тут нада весть код чистить если честно.

Как вариант http://ca.php.net/manual/en/function.is-uploaded-file.php
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
minka9
согласен можно в строчку массив заточить с сокращениями правильно?,

Я понял и ещё по параметрам устроить вздрючку файла на прочность по размеру, типу, его наличие на сервере)))) и уже если все параметры устроят выполнить запрос к бд)))
 
Web
Polarfox
Если ты про проверку тоже учел, то примерно верно.

А iconv вроде переводит и в транслиты, ну если он есть. Вроде бы есть у многих, я смотрю мой чатик мало у кого не пашет ab
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
minka9
Кажется получилось вот кусочек =))

if($filesize!='0')
{
if($filesize<='20480000')
{
$type = end(explode(".", $upfilename));
if($type=='flv'||$type=='mp4'||$type=='avi'||$type=='3gp'||empty($type))
{ $moveupfile = "./video/" . $upfilename;
move_uploaded_file($_FILES['upfile']['tmp_name'], $moveupfile);

$result = dbquery("INSERT INTO ".$db_prefix."video
(name, url, vuid, pk, comment, datestamp)
VALUES
('".$_POST['name']."', 'video/$upfilename', '".$userdata['user_id']."', 'A', '".$_POST['comment']."', '".time()."')");

redirect("video_upload.php?upload=step_3");
}
else { echo"Не является видеофайлом!!!"; }
}
else { echo"Размер файла превышает разрешаемый порог 20480000"; }
}
else { echo"Ошибка загрузки файла"; }
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум: