Forum Webscript.Ru

Программирование => PHP => Тема начата: sanika от 19 Июля 2006, 17:04:34

Название: измение имени файла в аплоаде
Отправлено: 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!!!";}

как сделоать проверку на тип файла и его размер? И при загрузке на сервер менялось имя файла. Заранее благодарен.
Название: измение имени файла в аплоаде
Отправлено: html_coder от 20 Июля 2006, 10:32:20
Цитировать
sanika:
как сделоать проверку на тип файла и его размер?


$_FILES["tmp_name"]["type"] -  Mime-тип файла, в случае, если браузер предоставил такую информацию. Пример: "image/gif".

Цитировать
sanika:
И при загрузке на сервер менялось имя файла. Заранее благодарен.


Записывать файл на сервер с тем именем, которое тебе нужно!


Загрузка файлов на сервер (http://ru.php.net/features.file-upload)
Название: измение имени файла в аплоаде
Отправлено: dub от 20 Июля 2006, 22:36:24
[OFF]не удержусь... а можно глянуть photo, которые загружаются в директорию с названием /home/XXX/XXXX/XXXX/ ?
:)[/OFF]
Название: измение имени файла в аплоаде
Отправлено: sanika от 20 Июля 2006, 22:43:04
ваапще то там пусто, но этимим иксамия показал примерноый путь ...6( ... смотрел я эти ссылки ... у меня ничего не получается ...может кто поможет с кодом? а?
Название: измение имени файла в аплоаде
Отправлено: sanika от 20 Июля 2006, 22:48:29
файл add.php:

.....



.....
файл reg_new.php:

if(copy($_FILES["filename"]["tmp_name"],
"/home/interdal/public_html/game/photo/".$_FILES["filename"]["name"]))
{
print"";
}
else
{
print"error!!!";}
Название: измение имени файла в аплоаде
Отправлено: vasa_c от 24 Июля 2006, 10:58:18
сделай print_r( $_FILES ); все что там есть — все твое.
Название: измение имени файла в аплоаде
Отправлено: sanika от 24 Июля 2006, 11:39:04
результат
Array ( [filename] => Array ( [name] => d1.jpg [type] => image/jpeg [tmp_name] => /tmp/php8ewP2X [error] => 0 [size] => 15049 ) )
как теперь из этого достать только имя файла (без расширения?, присвоить ем другую переменную?и запихнуть назад?)
Название: измение имени файла в аплоаде
Отправлено: vasa_c от 24 Июля 2006, 12:36:08
Имя файла — $_FILES[ \'filename\' ][ \'name\' ];
Без расширения — pathinfo() (http://www.php.net/pathinfo)  или explode() (http://www.php.net/explode)

>Присвоить ему другую переменную
Чего?
>И запихнуть назад
Чего?
Название: измение имени файла в аплоаде
Отправлено: sanika от 24 Июля 2006, 12:51:55
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() вообще не катит. это не то...
Неужели трудно понять задачу?
Название: измение имени файла в аплоаде
Отправлено: sanika от 24 Июля 2006, 14:49:14
приношу извинения за тупость помледнего топика ... функции те что надо, но у меня не получается :( .... никто с кодом не поможет?
Название: измение имени файла в аплоаде
Отправлено: sanika от 24 Июля 2006, 16:06:45
сделал проверку на тип файла и ограничение по размеру:
{
$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))
Название: измение имени файла в аплоаде
Отправлено: sanika от 24 Июля 2006, 16:18:53
все вышло :) ....всем спасибо за участие :) ...