PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (12): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Найдено сообщений: 171
KuPbI4
Отправлено: 09 Августа, 2011 - 13:47:21 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
SAD пишет: CODE (
javascript ):
скопировать код в буфер обмена
function hideDiv( input, num1, num2) {
if ( input.value ) {
alert ( 'Выберите, пожалуйста, следующее изображение для загрузки' ) ;
document.getElementById ( 'img' + num2) .style .display = '' ;
} else
return false ;
}
такого будет достаточно
Спасибо за подсказки еще раз. Но я JavaScript мало знаком, так что простите меня, что я Вам вынес мозг.
KuPbI4
Отправлено: 09 Августа, 2011 - 13:35:05 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
SAD пишет: вы выноситель мозга
Спасибо за Ваше мнение, что я выноситель мозга.
SAD пишет:
вы выкладываете то, что хотите частями. зачем вам такой способ в принципе нужен??
зачем какие то еще диаголи??
1. Способ нужен тупым пользователям, чтоб понимали.
2. Для того, чтобы пользователи прочитали диалоговое окно и выбрали второй файл загрузки.
KuPbI4
Отправлено: 09 Августа, 2011 - 13:20:26 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
SAD пишет: блин, пропадает, так как вы форму отправили.
CODE (
html ):
скопировать код в буфер обмена
<script >
function hideDiv(input, num1, num2) {
if (input.value) {
document.getElementById('img'+num2).style.display = '';
} else
return false;
}
function AddImg() {
var inputs = document.getElementById('form').getElementsByTagName('input');
var count = 0;
for (var i = 0; i < inputs.length; i++)
if ( inputs[ i] .type == 'file' && inputs[ i] .value )
count++;
if ( count == 3 )
document.getElementById( 'form' ) .submit( ) ;
}
</ script >
<form id = "form" action = "add.php" method = "post" ENCTYPE = "multipart/form-data" >
<div id = "img1" > Файл изображения №1: <input type = "file" name = "file[]" onchange = "hideDiv(this, 1, 2);" ></ div >
<div id = "img2" style = "display: none;" > Файл изображения №2: <input type = "file" name = "file[]" onchange = "hideDiv(this, 2, 3);" ></ div >
<div id = "img3" style = "display: none;" > Файл изображения №3: <input type = "file" name = "file[]" ></ div >
<input type = "button" value = "Добавить" name = "add" onclick = "AddImg();" / > <input type = "reset" value = "Очистить" / ><br >
</ form >
Спасибо конечно за подсказки, но диалоговое окно уже не высвечивается о добавлении второго файла загрузки, т.к. заметил разницу между и
Если , то будет показывать диалоговое окно о просьбе добавления второго файла для загрузки, но пропадает первый выбранный файл для загрузки.
Если , то не будет показывать диалоговое окно о просьбе добавления второго файла для загрузки, но не пропадает первый выбранный файл для загрузки., нажав на кнопку Добавить и ничего не реагирует.
KuPbI4
Отправлено: 09 Августа, 2011 - 12:23:22 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
SAD пишет: короче делаете так, когда выбрали файл, по событию onchange на input делаете текущее поле формы скрытым, и добавляете еще одно поле input
(Добавление)
CODE (
html ):
скопировать код в буфер обмена
<script >
function hideDiv(input, num1, num2) {
if (input.value) {
document.getElementById('img'+num1).style.display = 'none';
document.getElementById('img'+num2).style.display = '';
} else
return false;
}
</ script >
<form action = "add.php" method = "post" ENCTYPE = "multipart/form-data" >
<div id = "img1" > Файл изображения №1: <input type = "file" name = "file[]" onchange = "hideDiv(this, 1, 2);" ></ div >
<div id = "img2" style = "display: none;" > Файл изображения №2: <input type = "file" name = "file[]" onchange = "hideDiv(this, 2, 3);" ></ div >
<div id = "img3" style = "display: none;" > Файл изображения №3: <input type = "file" name = "file[]" ></ div >
<input type = "submit" value = "Добавить" name = "add" / > <input type = "reset" value = "Очистить" / ><br >
</ form >
Спасибо, потестировал работает, но поменял кое-что в скрипте
на
И я хотел увидеть этот результат, когда выбрали файл для загрузки, появляется выбор загрузки второго файла и т.д.
НО! Проблема остается, когда пользователь случайно нажмет на добавить,если даже он не выбрал второй файл для загрузки и третий, пропадает выбранный первый файл для загрузки.
KuPbI4
Отправлено: 09 Августа, 2011 - 11:17:46 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
SAD пишет: мда... нет слов... вы наверное не поняли, что вам сказали
Если раз вы это поняли, то объясните поконкретнее, и видно, что потихоньку изучаю и все приходит с опытом, спасибо за понимание и за внимание
KuPbI4
Отправлено: 09 Августа, 2011 - 10:28:01 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
EuGen пишет: Разъясните, каким образом загрузка файлов и их хранение относится к сессиям и их хранению
Чтобы пользователь выбрал первый файл загрузки и нажал на кнопку добавить, и система выдает и просит добавить второй файл загрузки и жмет ОК, и видим, что выбор первого файла для загрузки изображения сбросилось и ему приходиться заново это делать, так понятно?
KuPbI4
Отправлено: 09 Августа, 2011 - 01:15:29 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
EuGen пишет: http://www.php.net/manual/en/function.session-save-path.php пишет: <?php
session_save_path('/home/example.com/sessions');
ini_set('session.gc_probability', 1);
?>
в форме добавления загрузки выглядит так:
Сама форма:
CODE (
html ):
скопировать код в буфер обмена
<form action = "add.php" method = "post" ENCTYPE = "multipart/form-data" >
Файл изображения №1: <input type = "file" name = "file[]" value = "<? echo $_SESSION['img1'];?> "><br >
Файл изображения №2: <input type = "file" name = "file[]" ><br >
Файл изображения №3: <input type = "file" name = "file[]" ><br >
<input type = "submit" value = "Добавить" name = "add" / > <input type = "reset" value = "Очистить" / ><br >
</ form >
Сам скрипт добавления в БД.
PHP:
скопировать код в буфер обмена
<?
include ( "mysql.php" ) ;
$_SESSION [ 'img1' ] = $img1 ;
$_SESSION [ 'img2' ] = $img2 ;
$_SESSION [ 'img3' ] = $img3 ;
if ( strlen ( trim ( $_FILES [ 'file' ] [ 'name' ] [ 0
] ) ) > 0
) { if ( strlen ( trim ( $_FILES [ 'file' ] [ 'name' ] [ 1
] ) ) > 0
) { if ( strlen ( trim ( $_FILES [ 'file' ] [ 'name' ] [ 2
] ) ) > 0
) {
foreach ( $_FILES [ 'file' ] [ 'name' ] as $k => $f ) {
if ( ! $_FILES [ 'file' ] [ 'error' ] [ $k ] ) {
if ( move_uploaded_file ( $_FILES [ 'file' ] [ 'tmp_name' ] [ $k ] , "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] ) ) { echo 'Файл: ' . $_FILES [ 'file' ] [ 'name' ] [ $k ] . ' загружен!' ;
if ( Img_Resize( "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] , "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] , 600, 600) ) {
echo "Файл" . $_FILES [ 'file' ] [ 'name' ] [ $k ] . "изменен!" ;
}
}
}
}
}
$img1 = $_FILES [ 'file' ] [ 'name' ] [ 0] ;
$img2 = $_FILES [ 'file' ] [ 'name' ] [ 1] ;
$img3 = $_FILES [ 'file' ] [ 'name' ] [ 2] ;
$query = "INSERT INTO cars ( img1, img2, img3 ) VALUES ('$img1 ', '$img2 ', '$img3 ')" ;
unset ( $_SESSION [ 'img1' ] ) ; unset ( $_SESSION [ 'img2' ] ) ; unset ( $_SESSION [ 'img3' ] ) ; header ( "Location: ./index.php" ) ; }
else {
header ( "Location: ./add_form.php" ) ; }
}
else { echo "<script language='JavaScript'>window.alert('Выберите файл изображения №3 для загрузки');
location.href='add_form.php'</script>" ; } }
else { echo "<script language='JavaScript'>window.alert('Выберите файл изображения №2 для загрузки');
location.href='add_form.php'</script>" ; } }
else { echo "<script language='JavaScript'>window.alert('Выберите файл изображения №1 для загрузки');
location.href='add_form.php'</script>" ; } }
Выбираю файл №1 для загрузки, потом жму добавить, и просит добавить файл №2 для изображения, и не запомнил путь к временному файлу №1, для хранения текущих сессий.., а хотелось, чтоб запомнил путь к временному файлу №1, для хранения текущих сессий.., чтоб потом спокойно загрузить файлы на сервер..
Подскажите советом...
KuPbI4
Отправлено: 08 Августа, 2011 - 15:47:48 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
EuGen пишет: Задает каталог, куда php будет сохранять временные файлы, необходимые для хранения текущих сессий.
А пример можете показать?!
EuGen пишет: А что значит "запомнить файл для загрузки" - вопрос открытый.
Это значит запомнить как метод $_SESSION
KuPbI4
Отправлено: 08 Августа, 2011 - 15:13:14 • Тема: session_save_path() • Форум: HTTP и PHP
Ответов: 19 Просмотров: 5964
В чем заключается этот метод session_save_path()?
У меня поставлена такая задача - Выбрал файл №1 для загрузки, нажал на кнопку Добавить, запрашивает выбрать файл №2 для загрузки и кнопка ок, и пропадает выбор файла №1 для загрузки. Как сделать, чтоб файл №1 для загрузки запомнился, чтоб заново не выбирать? Этим методом session_save_path() ? Если да, то покажите пример...
KuPbI4
Отправлено: 05 Августа, 2011 - 20:33:11 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
tsoi85 пишет:
PHP:
скопировать код в буфер обмена
# $src - Исходное изображение (.gif, .png, .jpg, .jpeg)
# $dest - Сохраняемое изображение (.jpg)
# $sidepx - Размер
# $quality - Качество
function Img_Resize( $src , $dest , $sidepx , $quality = 90) {
if ( $size === false ) return false ;
$icfunc = "imagecreatefrom" . $format ;
$isrc = $icfunc ( $src ) ;
$img [ 'r_foto' ] = ( ( $size [ 0] > $size [ 1] ) ?$size [ 0] / $sidepx : $size [ 1] / $sidepx ) ;
$img [ 'sizex' ] = round ( $size [ 0
] / $img [ 'r_foto' ] ) ; $img [ 'sizey' ] = round ( $size [ 1
] / $img [ 'r_foto' ] ) ; imagecopyresampled ( $idest , $isrc , 0
, 0
, 0
, 0
, $img [ 'sizex' ] , $img [ 'sizey' ] , $size [ 0
] , $size [ 1
] ) ; return true ;
}
if ( Img_Resize( './old.png' , './uplfile/NEW.jpg' , 400, 100) ) {
echo 'resize' ;
}
else {
echo 'no resize' ;
}
Хочу спросить в самом конце вызова самой функции
Вот я добавляю информацию, и одновременно загружаю изображение, и само изображение должно сжать и добавить в БД имя файла сжатого изображения
Как сделать, чтоб любой файл изображения удачно сжал и загрузился?!
Так?
PHP:
скопировать код в буфер обмена
if ( Img_Resize( $_FILES [ 'file' ] [ 'name' ] [ $k ] . '.jpg' , $_FILES [ 'file' ] [ 'name' ] [ $k ] . '_.jpg' , 400, 100) ) {
echo 'resize' ;
}
else {
echo 'no resize' ;
}
KuPbI4
Отправлено: 05 Августа, 2011 - 19:30:51 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
tsoi85 пишет:
foreach - Специальный цикл перебора массивов
$k - В данном случае ключ файла
$f - Значение массива
http://www.php.su/learnphp/cs/?cycles#foreach
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
foreach ( $_FILES [ 'file' ] [ 'name' ] as $k => $f ) {
if ( ! $_FILES [ 'file' ] [ 'error' ] [ $k ] ) {
if ( move_uploaded_file ( $_FILES [ 'file' ] [ 'tmp_name' ] [ $k ] , "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] [ $k ] ) ) { echo 'Файл: ' . $_FILES [ 'file' ] [ 'name' ] [ $k ] . ' загружен.<br />' ;
}
}
}
}
$img1 = $_FILES [ 'file' ] [ 'name' ] [ 0] ;
$img2 = $_FILES [ 'file' ] [ 'name' ] [ 1] ;
Про foreach помню, теперь понял смысл.
Спасибо, что объяснили, что за переменные.
Работает, как нужно.
Один вопрос остался, есть такой скрипт, который позволяет сжать картинку в заданный размер изображения, к примеру 400х400?!
KuPbI4
Отправлено: 05 Августа, 2011 - 19:08:58 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
tsoi85
у меня к Вам вопрос, зачем тут нужен foreach и откуда переменные $k и $f?
пробовал Ваш код, но файлы загрузились, но не добавились в БД.
KuPbI4
Отправлено: 05 Августа, 2011 - 18:21:05 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
Кто-нибудь объяснит, как исправить эту проблему?
Читал конечно в php.su инструкцию загрузки нескольких файлов, так и делал, бесполезно, в поиске искал, там решения не нашел
KuPbI4
Отправлено: 04 Августа, 2011 - 22:19:04 • Тема: Загрузка нескольких файлов на сервер • Форум: HTTP и PHP
Ответов: 44 Просмотров: 28342
Всем здравствуйте!
У меня поставлена задача сделать загрузку нескольких файлов на сервер, но она у меня не очень получается, т.е. с одним файлом загрузки на сервер и добавлением имени файла в БД все хорошо, а с двумя и более - плохо, т.е. не загружается второй файл и не записывается имя файла в БД.
Прилагаю кусочек кода HTML:
CODE (
html ):
скопировать код в буфер обмена
<form action = "add.php" method = "post" ENCTYPE = "multipart/form-data" >
<label >
Файл изображения №1: <input type = "file" name = "file[]" ><br >
Файл изображения №2: <input type = "file" name = "file[]" ><br >
</ label >
</ form >
Прилагаю кусочек кода PHP:
PHP:
скопировать код в буфер обмена
$img1 = $file ;
$file = $_FILES [ 'file' ] [ 'name' ] ;
copy ( $_FILES [ 'file' ] [ 'tmp_name' ] [ 0 ] , "../img/cars/" . $_FILES [ 'file' ] [ 'name' ] ) ; $img2 = $file1 ;
$file1 = $_FILES [ 'file1' ] [ 'name' ] ;
copy ( $_FILES [ 'file' ] [ 'tmp_name' ] [ 1 ] , "../img/cars/" . $_FILES [ 'file1' ] [ 'name' ] ) ; //дальше там идет SQL добавление записи в БД
$query = "INSERT INTO cars ( model, year, mesto, phone, probeg, kpp, moschnost, money, img1, img2 ) VALUES ('$model ', '$year ', '$mesto ', '$phone ', '$probeg ', '$kpp ', '$moschnost ', '$money ', '$img1 ', '$img2 ')" ;
}
Как эту проблему решить?!
И в добавок, посоветуйте пожалуйста, какие лучшие jquery плагины мульти-загрузочных файлов можно использовать?!
Страниц (12): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB