1. Загрузка файла на сервер
2. Изменение размера картинки
Плиз ктонить дайте простейшие скрипты того и другого,т.к. везде нахожу только всякие с регистрацией каталогами и прочей лабудой.
Заранее благодарен!

Спустя 1 час, 15 минут, 5 секунд (5.03.2009 - 23:43) bugmenot написал(а):
Скриптег нашел, вот:
PHP |
<?php |
остался вопрос: как изменить имя файла? А то они могут повторяццо.
Спустя 11 минут, 7 секунд (5.03.2009 - 23:54) Viking написал(а):
ну вроде как вот тут $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']); указать новое имя с полным путем вместо дефолтных
а вообще советуется вот эта функция
http://ru.php.net/manual/ru/function.move-uploaded-file.php
а вообще советуется вот эта функция
http://ru.php.net/manual/ru/function.move-uploaded-file.php
Спустя 12 минут, 56 секунд (6.03.2009 - 00:07) bugmenot написал(а):
Viking
Есть мысля, но хз как осуществить.
Можно сделать рандом все символы до ".". Подскажите плиз как обозначить эту точку
Есть мысля, но хз как осуществить.
Можно сделать рандом все символы до ".". Подскажите плиз как обозначить эту точку

! | HardWoman |
Уважемый пользователь! На нашем форуме не принято общаться в таких выражениях -->
но хз как осуществить
Прошу учесть.
Спустя 8 минут, 18 секунд (6.03.2009 - 00:15) Viking написал(а):
ну дык рандомом http://ru.php.net/manual/ru/function.rand.php
или счетчик сделать
еще можно в сторону всякой экзотики http://ru.php.net/manual/ru/function.tempnam.php покопать, для гарантии уникальности
но имхо сегодня лучше всего либо счетчик, либо таймстамп
или счетчик сделать
еще можно в сторону всякой экзотики http://ru.php.net/manual/ru/function.tempnam.php покопать, для гарантии уникальности
но имхо сегодня лучше всего либо счетчик, либо таймстамп
Спустя 12 минут, 9 секунд (6.03.2009 - 00:27) Viking написал(а):
PHP |
$filename = "уникальный_файлнейм"; |
по идее вот этот скрипт гарантирует уникальность имени файла

Спустя 8 минут, 28 секунд (6.03.2009 - 00:36) bugmenot написал(а):
Мб у тя ася есть?)
Ты блин главного не обьяснил как менять все до точки. А то у мну и то что после точки меняет.
Ты блин главного не обьяснил как менять все до точки. А то у мну и то что после точки меняет.
Спустя 9 минут, 58 секунд (6.03.2009 - 00:46) Viking написал(а):
можно через http://ru2.php.net/manual/en/function.substr.php
определяя местоположение точки через http://ru2.php.net/manual/en/function.strpos.php
то, что после точки можно добавлять конкатенацией
я бы использовал счетчк и http://ru2.php.net/manual/en/function.sprintf.php в последнем скрипте, который я привел, тогда вполне рабочий код, хотя и не оптимально с точки зрения производительности
определяя местоположение точки через http://ru2.php.net/manual/en/function.strpos.php
то, что после точки можно добавлять конкатенацией
я бы использовал счетчк и http://ru2.php.net/manual/en/function.sprintf.php в последнем скрипте, который я привел, тогда вполне рабочий код, хотя и не оптимально с точки зрения производительности
Спустя 7 минут, 1 секунда (6.03.2009 - 00:53) bugmenot написал(а):
http://ru2.php.net/manual/en/function.sprintf.php не понял как работает, а http://ru2.php.net/manual/en/function.strpos.php заюзаю

Спустя 4 минуты, 38 секунд (6.03.2009 - 00:57) Viking написал(а):
во, осенило
list($name, $extention) = explode(".", $filename);
а после изменения $name
$filename = $name.".".$extention;
list($name, $extention) = explode(".", $filename);
а после изменения $name
$filename = $name.".".$extention;
Спустя 6 минут, 40 секунд (6.03.2009 - 01:04) bugmenot написал(а):
Viking
Я знал что это как-то очень просто можно сделать!
Я знал что это как-то очень просто можно сделать!

Спустя 23 минуты, 2 секунды (6.03.2009 - 01:27) bugmenot написал(а):
Черт, мне нада учиццо и учиццо!!
Вот ошипко:
Вот ошипко:
Код |
Parse error: syntax error, unexpected T_STRING in Z:\home\test1.ru\www\upload.php on line 16 |
А вот кусок кода:
Код |
$file = fopen("files/one_zero.gif","rb"); int rename ( string one_zero.gif, string new.hif) |
Я пошел спать, сил моих нет

Спустя 19 минут, 28 секунд (6.03.2009 - 01:47) kirik написал(а):
Цитата (bugmenot @ 5.03.2009 - 17:27) |
int rename ( string one_zero.gif, string new.hif) |
Эт чаво такое? Иди спи

Спустя 7 часов, 8 минут, 15 секунд (6.03.2009 - 08:55) sergeiss написал(а):
Цитата (Viking @ 6.03.2009 - 00:57) |
во, осенило list($name, $extention) = explode(".", $filename); а после изменения $name $filename = $name.".".$extention; |
Это слишком просто, чтобы быть верным

А если имя файла само содержит точку? Тогда весь "хвост" после первой точки будет рассматриваться как расширение.
А посему, я бы предложил писать результат действия explode(".", $filename); в массив и только последнее рассматривать как расширение.
Типа такого:
PHP |
$fileparts=explode(".", $filename); |
При этом выделять имя файла в отдельную переменную вовсе не обязательно

PHP |
$filename = $name.".".$extention; |
PS. Чуть упростил в одном месте, поэтому редактирую. Заменил $extention=$fileparts[ count($fileparts) - 1 ] на $extention=end( $fileparts);
Спустя 31 минута, 11 секунд (6.03.2009 - 09:26) Viking написал(а):
Цитата |
При этом выделять имя файла в отдельную переменную вовсе не обязательноДостаточно просто в итоге написать, что ты уже написал |
дык ему как раз нужно само имя файла изменить
если имя заранее неизвестно и надо сделать с учетом возможности нескольких точек, то я бы всеже сделал так
PHP |
$point = strrpos($filename,"."); |
Цитата |
$file = fopen("files/one_zero.gif","rb"); |
открывать то его зачем?
Спустя 9 минут, 3 секунды (6.03.2009 - 09:35) twin написал(а):
Вот так можно:
PHP |
<? |
Спустя 13 минут, 8 секунд (6.03.2009 - 09:48) sergeiss написал(а):
Вот еще вариант, проще уже просто некуда
БукоФФ меньше всего:

PHP |
$extention=substr( strrchr( $filename, '.' ), 1); |
Спустя 31 минута, 26 секунд (6.03.2009 - 10:20) twin написал(а):
Не катит... Если в имени файла точка, то капут.
Спустя 26 минут, 3 секунды (6.03.2009 - 10:46) sergeiss написал(а):
Очень даже "катит"! 
strrchr возвращает часть строки, начиная с последнего вхождения указанного символа, в данном случае после последней точки (и включая ее). Поэтому и надо еще применить substr.
Собственно... Что спорить? Запусти код

strrchr возвращает часть строки, начиная с последнего вхождения указанного символа, в данном случае после последней точки (и включая ее). Поэтому и надо еще применить substr.
Собственно... Что спорить? Запусти код
PHP |
$s="kjoiuoijl.234.gdfj"; |
Спустя 1 час, 12 минут, 21 секунда (6.03.2009 - 11:58) Guest написал(а):
Viking
Да прочитал о фиче rename. Чтобы файл переименовать надо его открыть.
Воть:
Да прочитал о фиче rename. Чтобы файл переименовать надо его открыть.
Воть:
Цитата |
rename ( ) Функция rename( ) переименовывает файл. В случае успеха возвращается TRUE, a при неудаче -- FALSE. Синтаксис функции rename( ): bool rename (string старое_имя, string новое_имя) Пример переименования файла функцией rename( ): $data_file = "datal.txt"; rename($data file, $datafile'.old') or die ("Could not rename $data file"); |
Спустя 6 минут, 50 секунд (6.03.2009 - 12:05) bugmenot написал(а):
Все ваши способы не подходют, т.к. в момент загрузки пользователем файла имя изменить нельзя (или я не нашел как)
Можно только изменить уже после загрузки.Для этого его надо открыть функциеей fopen и переименовать rename. Вот код:
Можно только изменить уже после загрузки.Для этого его надо открыть функциеей fopen и переименовать rename. Вот код:
Код |
<?php // Каталог, в который мы будем принимать файл: $uploaddir = './files/'; $uploadfile = $uploaddir.basename($_FILES['uploadfile']['name']); // Копируем файл из каталога для временного хранения файлов: if (copy($_FILES['uploadfile']['tmp_name'], $uploadfile)) { echo "<h3>Файл успешно загружен на сервер</h3>"; } else { echo "<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>"; exit; } // Выводим информацию о загруженном файле: echo "<h3>Информация о загруженном на сервер файле: </h3>"; echo "<p><b>Оригинальное имя загруженного файла: ".$_FILES['uploadfile']['name']."</b></p>"; echo "<p><b>Mime-тип загруженного файла: ".$_FILES['uploadfile']['type']."</b></p>"; echo "<p><b>Размер загруженного файла в байтах: ".$_FILES['uploadfile']['size']."</b></p>"; echo "<p><b>Временное имя файла: ".$_FILES['uploadfile']['tmp_name']."</b></p>"; ?> |
Спустя 11 минут, 4 секунды (6.03.2009 - 12:16) twin написал(а):
Цитата |
Собственно... Что спорить? Запусти код |
Я не спорю, я факт констатирую
Конечно же запустил, прежде чем писать. До первой точки выдает, а потом - фига.
Упс. я не прав. Я думал надо имя файла, а вам наверное расширение... По крайней мере выдает все ПОСЛЕ последней точки.

Упс. я не прав. Я думал надо имя файла, а вам наверное расширение... По крайней мере выдает все ПОСЛЕ последней точки.
Спустя 8 минут, 29 секунд (6.03.2009 - 12:24) twin написал(а):
Цитата |
Можно только изменить уже после загрузки.Для этого его надо открыть функциеей fopen и переименовать rename. Вот код: |
Так файл загружается во временную директорию, а функция move-uploaded-file() позволяет переписать его на постоянное место жительства уже под новым именем.
Спустя 2 минуты, 43 секунды (6.03.2009 - 12:27) twin написал(а):
PHP |
<? |
Спустя 30 минут, 51 секунда (6.03.2009 - 12:58) bugmenot написал(а):
twin
нипашет
ошибок нет но файл не заливаеццо.
нипашет

Спустя 12 минут, 51 секунда (6.03.2009 - 13:11) twin написал(а):
Все пашет.
Директория есть image на одном уровне со скриптом?
В форме прописано enctype="multipart/form-data"?
Как вызываешь функцию?
Директория есть image на одном уровне со скриптом?
В форме прописано enctype="multipart/form-data"?
Как вызываешь функцию?
Спустя 11 минут, 55 секунд (6.03.2009 - 13:23) bugmenot написал(а):
twin
Код |
<!-- Начало формы заполнения --> <form action=upload.php method=post enctype=multipart/form-data> <input type=file name=uploadfile> <input type=submit value=Загрузить></form> <!-- Конец формы заполнения --> |
Спустя 18 минут, 24 секунды (6.03.2009 - 13:41) twin написал(а):
Если ты в функции ничего не менял, то должно быть так:
HTML |
<input type=file name=file> |
Спустя 44 минуты, 11 секунд (6.03.2009 - 14:25) bugmenot написал(а):
twin
Всеравно у мну не пашет
Вот коды:
index.php
Всеравно у мну не пашет

Вот коды:
index.php
Код |
<html> <head><title>Добавить картинку</title></head> <body> <b> <font face="Arial" size="2"> <!-- Начало формы заполнения --> <form action=upload.php method=post enctype=multipart/form-data> <input type=file name=file> <br> <input type=submit value=Загрузить></form> <!-- Конец формы заполнения --> </font> </b> </body> </html> |
Код upload.php
Код |
<? function up_file() { $arr = array(".gif",".jpg",".jpeg",".png",".swf"); if( $_FILES['file']['error'] == 0 && $_FILES['file']['size'] > 0 ) { $type = strrchr($_FILES['file']['name'], "."); $name = date("U").$type; $upname = "image/".$name; if(in_array($type,$arr)) move_uploaded_file($_FILES['file']["tmp_name"],$upname); if(file_exists($upname)) return $name; else return false; } else { return false; } } ?> |
Спустя 11 минут, 18 секунд (6.03.2009 - 14:37) twin написал(а):
Ну функцию то надо вызвать. Как же он будет пахать то... Напиши так:
HTML |
<!-- Начало формы заполнения --> Загрузился файл: <?php echo up_file() ?> |
Спустя 3 минуты, 8 секунд (6.03.2009 - 14:40) bugmenot написал(а):
twin
Загрузился файл:
Fatal error: Call to undefined function up_file() in Z:\home\test1.ru\www\index.php on line 7
Дай плиз свою аську, так проще будет
PS. Да я крайне туп.
Загрузился файл:
Fatal error: Call to undefined function up_file() in Z:\home\test1.ru\www\index.php on line 7
Дай плиз свою аську, так проще будет

PS. Да я крайне туп.

Спустя 12 минут, 23 секунды (6.03.2009 - 14:52) twin написал(а):
Аська не работает.
Вот так:
Вот так:
PHP |
<?php |
Спустя 14 минут, 4 секунды (6.03.2009 - 15:06) bugmenot написал(а):
twin
Скачай новую версию квипа, работает
И всеравно не пашет
((((((((((((
Скачай новую версию квипа, работает

И всеравно не пашет

Спустя 6 минут, 20 секунд (6.03.2009 - 15:13) bugmenot написал(а):
Спустя 43 минуты, 22 секунды (6.03.2009 - 15:56) twin написал(а):
Терпение, друже!
HTML |
<?php include('upload.php'); ?> <html> <head><title> </title></head> <body> <b> <font face="Arial" size="2"> <?php echo isset($_POST['ok'])?"Загружен файл: ".up_file():NULL; ?> <!-- --> <form action="?" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <br> <input type="submit" name="ok" ></form> <!-- --> </font> </b> </body> </html> |
Спустя 9 минут, 26 секунд (6.03.2009 - 16:05) bugmenot написал(а):
twin
+500000 пасиба!!!
Последний вопрос: как осуществить вывод? Вбить в MySQL название картинки? или как?
+500000 пасиба!!!

Последний вопрос: как осуществить вывод? Вбить в MySQL название картинки? или как?
Спустя 7 минут, 35 секунд (6.03.2009 - 16:13) twin написал(а):
ну функция возвращает новое имя файла с расширением. Делай чё хош с ним. Можешь просто в базу, а можешь в тег засунуть и потом забить. Это уже от логики приложения зависит.
Спустя 32 минуты, 45 секунд (6.03.2009 - 16:46) bugmenot написал(а):
Вот еще вопрос:
Как создать переменные из того что ввел пользователь? насколько помню, в паскале это было так: ReadLn(ы);
Как создать переменные из того что ввел пользователь? насколько помню, в паскале это было так: ReadLn(ы);
Спустя 41 минута, 45 секунд (6.03.2009 - 17:27) twin написал(а):
Ну если ты и этого не знаешь, то лучше начни отсюда
Спустя 27 минут, 49 секунд (6.03.2009 - 17:55) bugmenot написал(а):
twin
Все, пасиб!
У мну наверно еще будут вопросы, но пока все норм 
Все, пасиб!


Спустя 13 дней, 18 часов, 22 минуты, 15 секунд (20.03.2009 - 12:17) Pavlushka написал(а):
bugmenot, ну смотря что тебе нужно, если он передал переменные, то через GET или POST...
PHP |
$peremennaya=$_GET['что передано']; |
а вот как сделать моментальную проверку я не знаю... может кто то и знает.
Спустя 24 дня, 10 часов, 1 минута, 22 секунды (14.04.2009 - 21:19) deman_ru написал(а):
Решил новой темы не создавать, так как вопрос в принципе из этой области:)
подскажите скрипт вывода картинок из БД, у меня есть база под управлением Firebird, в таблице есть поле типа BLOB в котором хранится граф. информация, ну вот мне ее и нужно вывести) подскажите пожалуйста как??
подскажите скрипт вывода картинок из БД, у меня есть база под управлением Firebird, в таблице есть поле типа BLOB в котором хранится граф. информация, ну вот мне ее и нужно вывести) подскажите пожалуйста как??
Спустя 28 минут, 12 секунд (14.04.2009 - 21:47) kirik написал(а):
deman_ru
отсылаешь нужные заголовки (о том, что это за файл) и выводишь инфу.
Заголовок для jpg картинки будет такой:
отсылаешь нужные заголовки (о том, что это за файл) и выводишь инфу.
Заголовок для jpg картинки будет такой:
PHP |
header('Content-type: image/jpeg'); |
Спустя 12 минут, 47 секунд (14.04.2009 - 22:00) deman_ru написал(а):
kirik
а можете дать пример того что я хачу? так не могу понять((
а можете дать пример того что я хачу? так не могу понять((
Спустя 19 минут, 7 секунд (14.04.2009 - 22:19) kirik написал(а):
deman_ru
Тыц. Вот только картинки в БД хранить неблагодарное занятие..
Тыц. Вот только картинки в БД хранить неблагодарное занятие..
Спустя 4 минуты, 22 секунды (14.04.2009 - 22:23) deman_ru написал(а):
kirik
Огромнейшее спасибо!:)
Огромнейшее спасибо!:)
Спустя 46 минут, 47 секунд (14.04.2009 - 23:10) deman_ru написал(а):
эх..не могу разобраться сам(( прошу помощи, помогите плиз! вот что я тут намудрил:
PHP |
<?php |
что меня поставило в тупик:
1. Не знаю аналога функции mysql_num_rows() для работы с БД Interbase, поэтому в строке
PHP |
$num_rezult= ibase_num_fields ($cursor); |
считает количесиво полей таблицы а не строк записей (так оставил потому что хотя бы нет ошибок:) но надо сделать как положено).
2. Не знаю аналога функции mysql_free_result() для работу с БД Interbase, поэтому в строке
PHP |
$image = mysql_free_result($cursor, $row, 'COVER'); |
разумеется ошибка(
помогите пожалуйста, покажите как надо:(
Спустя 14 минут, 58 секунд (14.04.2009 - 23:25) kirik написал(а):