Forum Webscript.Ru
Программирование => PHP => Тема начата: sanika от 19 Июля 2006, 17:04:34
-
Здраствуйте, у меня такой вопрос:
есть код:
if(copy($_FILES["filename"]["tmp_name"],
"/home/XXX/XXXX/XXXX/".$_FILES["filename"]["name"]))
{
print"photo zagrujeno";
}
else
{
print"error!!!";}
как сделоать проверку на тип файла и его размер? И при загрузке на сервер менялось имя файла. Заранее благодарен.
-
sanika:
как сделоать проверку на тип файла и его размер?
$_FILES["tmp_name"]["type"] - Mime-тип файла, в случае, если браузер предоставил такую информацию. Пример: "image/gif".
sanika:
И при загрузке на сервер менялось имя файла. Заранее благодарен.
Записывать файл на сервер с тем именем, которое тебе нужно!
Загрузка файлов на сервер (http://ru.php.net/features.file-upload)
-
[OFF]не удержусь... а можно глянуть photo, которые загружаются в директорию с названием /home/XXX/XXXX/XXXX/ ?
:)[/OFF]
-
ваапще то там пусто, но этимим иксамия показал примерноый путь ...6( ... смотрел я эти ссылки ... у меня ничего не получается ...может кто поможет с кодом? а?
-
файл add.php:
.....
.....
файл reg_new.php:
if(copy($_FILES["filename"]["tmp_name"],
"/home/interdal/public_html/game/photo/".$_FILES["filename"]["name"]))
{
print"";
}
else
{
print"error!!!";}
-
сделай print_r( $_FILES ); все что там есть — все твое.
-
результат
Array ( [filename] => Array ( [name] => d1.jpg [type] => image/jpeg [tmp_name] => /tmp/php8ewP2X [error] => 0 [size] => 15049 ) )
как теперь из этого достать только имя файла (без расширения?, присвоить ем другую переменную?и запихнуть назад?)
-
Имя файла — $_FILES[ \'filename\' ][ \'name\' ];
Без расширения — pathinfo() (http://www.php.net/pathinfo) или explode() (http://www.php.net/explode)
>Присвоить ему другую переменную
Чего?
>И запихнуть назад
Чего?
-
vasa_c
>Присвоить ему другую переменную
Чего?
>И запихнуть назад
Чего?
мне надо чтобы вместо иени файла пользователя (vasya.jpg) ему присваивалось имя данное мной напрмие по счетчику - переменная $count
расширение же оставалось старое... :(
$path_parts = pathinfo(\'/www/htdocs/index.html\');
echo $path_parts[\'dirname\'], "\\n";
echo $path_parts[\'basename\'], "\\n";
echo $path_parts[\'extension\'], "\\n";
?>
тут указан путь к файлу, который УЖЕ есть на диске
А explode() вообще не катит. это не то...
Неужели трудно понять задачу?
-
приношу извинения за тупость помледнего топика ... функции те что надо, но у меня не получается :( .... никто с кодом не поможет?
-
сделал проверку на тип файла и ограничение по размеру:
{
$ims = array ( "image/gif","image/jpeg","image/png","image/x-gif","image/x-jpeg","ima ge/x-png" ,"image/pjpeg","gif","jpeg","png");
if ( !in_array($_FILES[\'filename\'][\'type\'],$ims) ) {
print("neverniy tip mojna gif,jpg,jpeg i png");
exit;
}
if($_FILES["filename"]["size"]>"20000"){
print("mnogo - bolshe 20 kb");
exit;
}
if(copy($_FILES["filename"]["tmp_name"],
"/home/interdal/public_html/game/photo/".$_FILES["filename"]["name"]))
{
print"";
}
else
{
print"error!!!";}
html_coder спасибо за подсказку ... осталась проблема с переименовыванием файла(т.е с загрузкой на сервер с моим именем (в данном случае - $nickname))
-
все вышло :) ....всем спасибо за участие :) ...