Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Редактор Имперави
Форумы портала PHP.SU » » Работа с файловой системой и файлами » Редактор Имперави

Страниц (2): [1] 2 »
 

1. Dezmonds - 24 Мая, 2011 - 11:15:28 - перейти к сообщению
Скачал отличный визуальный редактор от Имперави ( _http://imperavi.ru/redactor/ )
Но появилась проблема. Как сделать более правильную и человеческую загрузку изображений.

При нажатии на иконку загрузки сообщений в редакторе, мы вибираем файл и нажимаем вставить. Файл обработки загрузки upload.php, который содержит такой код:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.        
  3. include "config.php";
  4.  
  5. $_FILES['file']['type'] = strtolower($_FILES['file']['type']);
  6.  
  7. if ($_FILES['file']['type'] == 'image/png'
  8. || $_FILES['file']['type'] == 'image/jpg'
  9. || $_FILES['file']['type'] == 'image/gif'
  10. || $_FILES['file']['type'] == 'image/jpeg'
  11. || $_FILES['file']['type'] == 'image/pjpeg')
  12. {      
  13.         copy($_FILES['file']['tmp_name'], IMAGES_ROOT.md5(date('YmdHis')).'.jpg');
  14.         echo '/tmp/images/'.md5(date('YmdHis')).'.jpg';
  15. }
  16. ?>


congig.php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('SYSTEM_ROOT', '/www/re7/');
  3. define('FILES_ROOT', SYSTEM_ROOT.'tmp/files/');
  4. define('IMAGES_ROOT', SYSTEM_ROOT.'tmp/images/');
  5. ?>


Загрузка изображений не работает. Выдает ошибку:

function.copy]: failed to open stream: No such file or directory in D:\xampp\htdocs\club\administrator\1\upload.php on line 13
/tmp/images/a19816c6d10e867e66e4f192aa963e97.jpg" />

Нахмурился



Как довести до ума или переделать вообще..
Есть хороший пример загрузки который работает _http://www.nimspy.net/archives/85, но внедрить у меня не получилось...что и как сделать правильно,чтобы заработало Улыбка буду очень признателен. Спасибо!
2. nikob - 24 Мая, 2011 - 11:25:58 - перейти к сообщению
укажите правильные пути в конфиге, вы же на винде запускаете? слеши другие должны быть Однако
3. Dezmonds - 24 Мая, 2011 - 11:28:27 - перейти к сообщению
nikob пишет:
укажите правильные пути в конфиге

Что. то я не совсем понял, а что с ними ни так (как именно нужно написать)... Да на винде. Улыбка
4. nikob - 24 Мая, 2011 - 11:31:51 - перейти к сообщению
Dezmonds пишет:
nikob пишет:
укажите правильные пути в конфиге

Что. то я не совсем понял, а что с ними ни так (как именно нужно написать)... Да на винде. Улыбка


Смотрите свой конфиг. На UNIX пути такие:

На Windows такие:
PHP:
скопировать код в буфер обмена
  1. C:\Documents\User1\data\


Не замечаете разницы? Подмигивание
5. Dezmonds - 24 Мая, 2011 - 11:44:08 - перейти к сообщению
Спасибо. не знал.. Но не помогло. Ошибки не выдает, но файл так же не загружается...
А phpDesigner выдает ошибку синтаксиса.
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. <?PHP
  5. define('SYSTEM_ROOT', '\www\re7\');
  6. define('FILES_ROOT', SYSTEM_ROOT.'tmp\files\');
  7. define('IMAGES_ROOT', SYSTEM_ROOT.'tmp\images\');
  8. ?>
  9.  
  10.  
6. morosit - 24 Мая, 2011 - 11:51:25 - перейти к сообщению
nikobа вы не на винде?
у меня в XP слеши такие ///
упс я не туда смотрел Улыбка изиняйте
7. nikob - 24 Мая, 2011 - 11:54:42 - перейти к сообщению
Dezmonds пишет:
Спасибо. не знал.. Но не помогло. Ошибки не выдает, но файл так же не загружается...
А phpDesigner выдает ошибку синтаксиса.
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. <?PHP
  5. define('SYSTEM_ROOT', '\www\re7\');
  6. define('FILES_ROOT', SYSTEM_ROOT.'tmp\files\');
  7. define('IMAGES_ROOT', SYSTEM_ROOT.'tmp\images\');
  8. ?>
  9.  
  10.  


вот вам правильный конфиг:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('SYSTEM_ROOT', 'D:\xampp\htdocs\');
  3. define('FILES_ROOT', SYSTEM_ROOT.'tmp\files\');
  4. define('IMAGES_ROOT', SYSTEM_ROOT.'tmp\images\');
  5. ?>


Если в htdocs нету папки tmp, создайте ее. Если в папке tmp нету папок files и images, создайте их. Не забудьте на эти папки указать права 777
(Добавление)
morosit пишет:
nikobа вы не на винде?
у меня в XP слеши такие ///


я на винде, но сайты держу на debian Хм
8. Dezmonds - 24 Мая, 2011 - 12:00:30 - перейти к сообщению
конфиг видимо не правильный! Parse error: syntax error, unexpected T_STRING
Потому что при загрузки изображения или файла выдает вот что.. да и phpdesigner ругается на синтаксис...

Как можно сделать проще ?! переделать всю эту гадость с конфигом и полностью переделать upload.php
9. nikob - 24 Мая, 2011 - 12:07:57 - перейти к сообщению
Dezmonds пишет:
конфиг видимо не правильный! Parse error: syntax error, unexpected T_STRING
Потому что при загрузки изображения или файла выдает вот что.. да и phpdesigner ругается на синтаксис...

Как можно сделать проще ?! переделать всю эту гадость с конфигом и полностью переделать upload.php


попробуйте такой конфиг:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('SYSTEM_ROOT', 'file:D:/xampp/htdocs/');
  3. define('FILES_ROOT', SYSTEM_ROOT.'tmp/files/');
  4. define('IMAGES_ROOT', SYSTEM_ROOT.'tmp/images/');
  5. ?>
10. Dezmonds - 24 Мая, 2011 - 12:09:34 - перейти к сообщению
function.copy]: failed to open stream: Invalid argument in D:\xampp\htdocs\club\administrator\1\upload.php on line 13
/tmp/images/35937bf476e61361d642a5aae05aa9c0.jpg" />
11. nikob - 24 Мая, 2011 - 12:26:58 - перейти к сообщению
Dezmonds пишет:
function.copy]: failed to open stream: Invalid argument in D:\xampp\htdocs\club\administrator\1\upload.php on line 13
/tmp/images/35937bf476e61361d642a5aae05aa9c0.jpg" />


в общем берите первый конфиг и подставляйте свои данные (/xampp/htdocs/) и обязательно проверьте папки на существование и их запись
12. Dezmonds - 24 Мая, 2011 - 12:32:27 - перейти к сообщению
nikob пишет:
Dezmonds пишет:
function.copy]: failed to open stream: Invalid argument in D:\xampp\htdocs\club\administrator\1\upload.php on line 13
/tmp/images/35937bf476e61361d642a5aae05aa9c0.jpg" />


в общем берите первый конфиг и подставляйте свои данные (/xampp/htdocs/) и обязательно проверьте папки на существование и их запись

Папки существуют! права на запись тоже...что смеяться то.
13. maragon - 24 Мая, 2011 - 16:55:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //cofig твой
  3. define('SYSTEM_ROOT', 'images/');
  4. define('FILES_ROOT', SYSTEM_ROOT.'tmp/files/');
  5. define('IMAGES_ROOT', SYSTEM_ROOT.'tmp/images/');
  6.  
  7. //
  8. $_FILES['file']['type'] = strtolower($_FILES['file']['type']);
  9. if ($_FILES['file']['type'] == 'image/png'
  10. || $_FILES['file']['type'] == 'image/jpg'
  11. || $_FILES['file']['type'] == 'image/gif'
  12. || $_FILES['file']['type'] == 'image/jpeg'
  13. || $_FILES['file']['type'] == 'image/pjpeg')
  14. // имя картинки (разброс)
  15. $img = md5(uniqid(rand(),2));
  16. $img = ("".$img.".jpg"); //тип
  17. //
  18. if(copy($_FILES['file']['tmp_name'],IMAGES_ROOT.$img))
  19.   {
  20.     echo("<b>Файл успешно загружен</b><br>");
  21.     echo("Характеристики файла: <br>");
  22.     echo("Имя файла: ");
  23.     echo($_FILES["file"]["name"]);
  24.     echo("<br>Размер файла: ");
  25.     echo($_FILES["file"]["size"]);
  26.     echo("<br>Каталог для загрузки: ");
  27.     echo($_FILES["file"]["tmp_name"]);
  28.     echo("<br>Тип файла: ");
  29.     echo($_FILES["file"]["type"]);
  30.   } else {
  31.      echo("Ошибка загрузки файла");
  32.   }
  33. // оно?
  34. ?>
14. Dezmonds - 24 Мая, 2011 - 17:23:07 - перейти к сообщению
maragon - вы просто гений! еще как оно!! Спасибо! Успешно загружает, единственный минус, не выводит сообщения echo. соответсвенно если файл загружен код в редакторе не показывается (или само изображение) не знаю как должно быть, вроде изображение..
15. maragon - 24 Мая, 2011 - 17:25:57 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. echo("<b>Файл успешно загружен</b><br>");
  3.     echo("Характеристики файла: <br>");
  4.     echo("Имя файла: ");
  5.     echo($_FILES["file"]["name"]);
  6.     echo("<br>Размер файла: ");
  7.     echo($_FILES["file"]["size"]);
  8.     echo("<br>Каталог для загрузки: ");
  9.     echo($_FILES["file"]["tmp_name"]);
  10.     echo("<br>Тип файла: ");
  11.     echo($_FILES["file"]["type"]);
  12. echo ($_FILES['file']['tmp_name'],IMAGES_ROOT.$img);
  13.  

Как-то так (вроде бы) Подмигивание

 

Powered by ExBB FM 1.0 RC1