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

Форум PHP

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

 

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

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

тема: Проблема с загрузкой файлов (расширение)
 
 автор: kireyev   (18.06.2007 в 22:58)   письмо автору
 
 

<?php
if(isset($_FILES['filename']['name'])) $filename trim($_FILES['filename']['name']);
else 
$filename "";
if (!empty(
$filename)) {
    
$extentions = array(".gif",".jpg",".png",".txt");
        if(
in_array(strrchr($_FILES['attach']['name'], "."), $extentions)) {
            if (
copy($filename$_FILES['filename']['name']))
            echo 
"<a href=".$_FILES['filename']['name'].">Смотреть</a>";
            else
            echo 
"Ошибка при передаче файла на сервер.";
            }
        else     {
        echo 
"Файл имеет не допустимое расширение.";
        echo 
"<a href=# onClick='history.back()'>Вернуться к отправке</a>";
        exit();
        }
    }
    else {
    echo 
"Забыли указать файл.<br>";
    echo 
"<a href=# onClick='history.back()'>Вернуться к отправке</a>";
    exit();
    }
?>

Выдает: "Файл имеет не допустимое расширение."

   
 
 автор: Саня   (18.06.2007 в 23:07)   письмо автору
 
   для: kireyev   (18.06.2007 в 22:58)
 

Может быть дело в том, что вместо $_FILES['attach']['name'] нужно проверять $_FILES['filename']['name']?

   
 
 автор: kireyev   (18.06.2007 в 23:40)   письмо автору
 
   для: Саня   (18.06.2007 в 23:07)
 

В таком случае:

Warning: copy(Screenshot0059.jpg): failed to open stream: No such file or directory in D:\sites\www\new\upload.php on line 8
Ошибка при передаче файла на сервер.

   
 
 автор: Саня   (18.06.2007 в 23:44)   письмо автору
 
   для: kireyev   (18.06.2007 в 23:40)
 

copy($_FILES['filename']['tmp_name'], $_FILES['filename']['name'])

   
 
 автор: kireyev   (18.06.2007 в 23:53)   письмо автору
 
   для: Саня   (18.06.2007 в 23:44)
 

При чем тут эта строчка?
Выдает: "Файл имеет не допустимое расширение."

   
 
 автор: Саня   (19.06.2007 в 01:37)   письмо автору
 
   для: kireyev   (18.06.2007 в 23:53)
 

См. второй пост.

   
 
 автор: kireyev   (19.06.2007 в 08:56)   письмо автору
 
   для: Саня   (19.06.2007 в 01:37)
 

См. третий пост!

   
 
 автор: kireyev   (19.06.2007 в 00:08)   письмо автору
 
   для: kireyev   (18.06.2007 в 22:58)
 

Помогите кто-нибудь, пожалуйста...

   
 
 автор: Gemorroj   (19.06.2007 в 09:04)   письмо автору
 
   для: kireyev   (18.06.2007 в 22:58)
 


<?php 
if(isset($_FILES['filename']['name'])) $filename trim($_FILES['filename']['name']); 
else 
$filename ""
if (!empty(
$filename)) { 
    
$extentions = array(".gif",".jpg",".png",".txt"); 
        if(
in_array(strrchr($filename"."), $extentions)) { 
            if (
copy($_FILES['filename']['tmp_name'], $filename)) 
            echo 
"<a href=".$filename.">Смотреть</a>"
            else 
            echo 
"Ошибка при передаче файла на сервер."
            } 
        else     { 
        echo 
"Файл имеет не допустимое расширение."
        echo 
"<a href=# onClick='history.back()'>Вернуться к отправке</a>"
        exit(); 
        } 
    } 
    else { 
    echo 
"Забыли указать файл.<br>"
    echo 
"<a href=# onClick='history.back()'>Вернуться к отправке</a>"
    exit(); 
    } 
?>

   
 
 автор: Петр   (19.06.2007 в 09:16)   письмо автору
 
   для: Gemorroj   (19.06.2007 в 09:04)
 

Вот это вполне рабочий вариант, только рекомендую немного изменить строчку для ограничения размера файла.

<?
..
// ограничение 100кб (1024*100);
if ((in_array(strrchr($filename"."), $extentions)) and ($_FILES['filename']['size']<=102400)) {
..
?>

   
 
 автор: kireyev   (19.06.2007 в 09:21)   письмо автору
 
   для: Gemorroj   (19.06.2007 в 09:04)
 

to: Gemorroj

От души! СПАСИБО!

   
Rambler's Top100
вверх

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