Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: файлы на сервер
 
 автор: shmelnikov   (03.10.2007 в 20:42)   письмо автору
 
 

Здравствуйте!! есть вопрос
при добавлении картинки на сервер используя поле типа "file" мне вставляется полный адрес типа "C:\Documents and Settings\Мел\Рабочий стол\555.jpg" ну например...
и естесственно это не верный путь!
подскажите как быть? как правильно подгружать картинки в необходимый каталог?

   
 
 автор: Valick   (03.10.2007 в 21:14)   письмо автору
 
   для: shmelnikov   (03.10.2007 в 20:42)
 

Куда это вам вставляется полный адрес?
Это не вам - это вы должны "вставлять" путь к картинке, а на сервере она загружается в папку temp, а далее вы ручками перемещаете файл в нужную вам папку.

   
 
 автор: ddhvvn   (03.10.2007 в 22:06)   письмо автору
 
   для: Valick   (03.10.2007 в 21:14)
 

Советую для начала разобрать пример

   
 
 автор: shmelnikov   (03.10.2007 в 23:55)   письмо автору
 
   для: ddhvvn   (03.10.2007 в 22:06)
 

спасибо пример посмотрел!!!
возник вопрос.. а откуда мне узнать конечный путь к нужной папке ((
я не знаю где она там на каком диске!!!
и почему в строке $_FILES["filename"]["tmp_name"] каталог загрузки обозначен как
tmp_name а не temp?? (( объясните пожалуйста

   
 
 автор: Valick   (04.10.2007 в 00:09)   письмо автору
 
   для: shmelnikov   (03.10.2007 в 23:55)
 

На сервере вы закрыты в своей папке, кроме неё у вас ничего нет... ни дисков С, ни каках либо других. Для вас это корневая директория, от неё и пляшите, в ней можете создать хоть сотню вложеных папок и загнать туда свой файл))

   
 
 автор: Valick   (04.10.2007 в 00:18)   письмо автору
 
   для: shmelnikov   (03.10.2007 в 23:55)
 

Пример немного устарел, посмотрите вот это:

<?php 
// Проверяем директорию загрузки 
if(!$_REQUST['dir']) $dir=getcwd(); 
?> 

<body> 
    <h2><p><b> Форма для загрузки файлов на сервер</b></p></h2> 
    Максимальный размер загружаемого файла : 2Мб<br> 
    Загрузочная директория по умолчанию :  <?php echo($dir);?> 
    <form     aсtion="<?php echo $_SERVER['SCRIPT_NAME'];?>
        method="POST" 
        enctype="multipart/form-data"> 
    <input type="hidden" name="fileshow" value="<?php echo $_REQUEST['fileshow'];?>"> 
    <input type="hidden" name="action" value="go"> 
    <table width=100% border=0 cellpadding=5 cellspacing=2> 
        <tr valign=top> 
            <td><input type="file" name="filename"></td> 
        </tr> 
        <tr valign=top> 
            <td><input type="submit" value="Загрузить"></td> 
        </tr> 
    </table> 
<br> 
    </form>
</body>

<?php
if (isset($_REQUEST['action']))
{
// Проверяем была загрузка или нет
if (!$_FILES['filename']['name'])
    {
    echo(
"Ожидание ввода загружаемого файла");
    }
else
    {
// Если загрузка была, то
// Проверяем размер загружаемого файла
    
if ($_FILES['filename']['size'] > 1024*2*1024
        { 
        echo(
"Размер файла превышает 2Мб"); 
        exit; 
        }
// Из соображений безопасности проверяем загрузку по HTTP
    
if (is_uploaded_file($_FILES['filename']['tmp_name']))
        {
// Если файл загружен средствами РНР, то переносим файл из временной директории
        
if (move_uploaded_file($_FILES['filename']['tmp_name'],
                    
"$dir/".$_FILES['filename']['name']))
            {
            echo(
"Запрос обработан файлом : ".$_SERVER['SCRIPT_NAME']." <br>"); 
            echo(
"Имя файла : ".$_FILES['filename']['name']." <br>"); 
            echo(
"Размер файла : ".$_FILES['filename']['size']." <br>"); 
            echo(
"Тип файла : ".$_FILES['filename']['type']." <br>");
            echo(
"Файл успешно загружен в директорию : $dir <br>");
            }
        else
            {
            echo(
"Ошибка загрузки файла");
            }
        }
    else
        {
        echo(
"Вниманмие: \"левый\" файл!!!");
        }
    }
}
?>

   
 
 автор: shmelnikov   (04.10.2007 в 01:00)   письмо автору
 
   для: Valick   (04.10.2007 в 00:18)
 

спасибо... вроде врубился частично... сделал он в базу добавляет правильное значение, но картинки нет!! пишет ворнинг: Permission denied. это что означает фигня с правами доступа к папке????

   
 
 автор: cheops   (04.10.2007 в 10:42)   письмо автору
 
   для: shmelnikov   (04.10.2007 в 01:00)
 

Да, через FTP-клиент следует выставить права доступа на папку.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования