Image uploading solution

Once you've installed phpList... ask questions here!

Image uploading solution

Postby reetp » 12:20pm, Thu 01 Dec, 2011

Having tried to do this many times, after much hacking about I have finally got Image uploads working properly, or at least how I want them !!!!

I now think that a lot of problems that people have are due to problems with file paths e.g. open_basedir is incorrect in your php.ini or .htaccess is wrong. I don't use .htaccess myself and due to the odd nature of my setup, my open_basedir comes out all wrong.

Having run it through a debugger I could finally see that many of the paths I expected to see were not correct.

I attach a set of patches to a standard 2.10.17 installation - well I would attach it as a file if I could but I can't so I've added it as code below.

My PHPList install is in a subdirectory of my server 'root'. I created a folder called upload images and then created five subdirectories in there :

\
\phplist
\phplist\uploadimages
\phplist\uploadimages\Attachments
\phplist\uploadimages\Image
\phplist\uploadimages\Flash
\phplist\uploadimages\Media
\phplist\uploadimages\File

I probably should have left them as lower case. Such is life

The coding is not particularly good as I am no expert, but IWFM. However, I do think that there should be a few more configuration options, either in a config file or in the DB. I'd be grateful for any comments, and possible security implications.

I hope most of it is self explanatory.

I've added a Debug option to enable a config_override.php file to set some local variables. You can enable or disable this as you wish, and drop a config_override.php file in your config directory

For example, in my local server I have the following override variables

$local_root
$pageroot
$adminpages
$attachment_repository
$tmpdir
$myserverpath

Please don't ask me for any technical help with coding - it's not that I don't want too, but I have enough of a struggle with coding my own stuff and I'm unlikely to have the knowledge to help you !!!! As I said above, I think that most of the problems are path related. Check those first. A debugger such as Eclipse or Netbeans makes life so much easier and are worth the struggle of getting them set up.

Hope this helps someone !

B. Rgds
John

Code: Select all
Index: config/config.php
===================================================================
--- config/config.php   (revision 55)
+++ config/config.php   (revision 80)
@@ -50,6 +50,24 @@
$pageroot = '/phplist';
$adminpages = '/phplist/admin';

+// Really all the paths should go in one section to make overrides easier
+
+// This is to override $SERVER['DOCUMENT_ROOT'] set by php as openbase_dir
+// and which causes errors if your server root is not where it is expected
+// Unhash the define line is you want to change it from the default
+// Not sure about using a DEFINE here as you may want to override it
+// This is a bit messy and wants sorting out.
+
+
+define('ROOT_DIR', '/your/server/phplist/html');
+
+if (defined ('ROOT_DIR')) {
+   $local_root = ROOT_DIR;
+}
+else {
+   $local_root = $_SERVER['DOCUMENT_ROOT'];
+}
+
/*

=========================================================================

@@ -551,8 +569,8 @@
# and it needs to be in your public document (website) area
# the directory is relative to the root of PHPlist as set above
# This is a potential security risk, so read README.security for more information
+//define("FCKIMAGES_DIR","uploadimages");
define("FCKIMAGES_DIR","uploadimages");
-
# TinyMCE Support (http://tinymce.moxiecode.com/)
# It is suggested to copy the tinymce/jscripts/tiny_mce directory from the
# standard TinyMCE distribution into the public_html/lists/admin/plugins
@@ -626,7 +644,7 @@
# it also needs to be a full path, not a relative one
# for secutiry reasons it is best if this directory is not public (ie below
# your website document root)
-$attachment_repository = '/tmp';
+$attachment_repository = '/your/server/phplist/uploadimages/Attachments';

# if you want to be able to send your messages as PDF attachments, you need to install
# FPDF (http://www.fpdf.org) and set these variables accordingly
@@ -737,4 +755,39 @@
# if you want more trouble, make this 63 (very unlikely you will like the result)
$error_level = error_reporting(0);

+
+// Local Overrides
+//
+// Wanted to load up a config_override.php file to add local seetings for debugging
+// This works pretty well apart from when you use FCKeditor to upload images as it uses
+// a relative path for config.php at line 30. It would be much better to get overrides working
+// properly but until I figure something else out this is my small hack
+
+// A quick hack if you want to enable an config_override.php
+
+//FCKEditor/editor/filemanager/phplist/connector/config.php to get the file paths right.
+//
+// If there is a difference between 'http://'.$_SERVER['HTTP_HOST'] and your actual directory then change it here
+// e.g. HTTP_HOST : server.domain.com but really you want server.domain.com/somesubdirectory/phplist
+// This is purely for getting a correct URL for the file uploads
+// SERVER_LOCAL_PATH = '/somesubdirectory';
+
+define ('SERVER_LOCAL_PATH', '/somesubdirectory');
+
+if (defined ('SERVER_LOCAL_PATH')) {
+$myserverpath = 'http://'.$_SERVER['HTTP_HOST'].SERVER_LOCAL_PATH;
+}
+else {
+$myserverpath = 'http://'.$_SERVER['HTTP_HOST'];
+}
+
+//If you set DEBUG = 1 then it will try and load an override file in the location specified.
+
+$DEBUG=0;
+$overridepath='/your/server/phplist/config';
+
+if (($DEBUG=1) && (is_file($overridepath.'/config_override.php')))
+{
+   include ($overridepath.'/config_override.php');
+   }
?>


Index: admin/class.phplistmailer.php
===================================================================
--- admin/class.phplistmailer.php   (revision 55)
+++ admin/class.phplistmailer.php   (revision 80)
@@ -212,10 +212,10 @@
       $elements = parse_url($filename);
       $localfile = basename($elements['path']);
       return
-        is_file($_SERVER['DOCUMENT_ROOT'].$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/image/'.$localfile)
-        || is_file($_SERVER['DOCUMENT_ROOT'].$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/'.$localfile)
+        is_file($local_root.$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/Image/'.$localfile)
+        || is_file($local_root.$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/'.$localfile)
         ## commandline
-        || is_file('../'.FCKIMAGES_DIR.'/image/'.$localfile)
+        || is_file('../'.FCKIMAGES_DIR.'/Image/'.$localfile)
         || is_file('../'.FCKIMAGES_DIR.'/'.$localfile);
     }

@@ -223,14 +223,14 @@
       ## get the image contents
       $elements = parse_url($filename);
       $localfile = basename($elements['path']);
-      if (is_file($_SERVER['DOCUMENT_ROOT'].$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/'.$localfile)) {
-        return base64_encode( file_get_contents($_SERVER['DOCUMENT_ROOT'].$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/'.$localfile));
-      } elseif (is_file($_SERVER['DOCUMENT_ROOT'].$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/image/'.$localfile)) {
-        return base64_encode( file_get_contents($_SERVER['DOCUMENT_ROOT'].$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/image/'.$localfile));
+      if (is_file($local_root.$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/'.$localfile)) {
+        return base64_encode( file_get_contents($local_root.$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/'.$localfile));
+      } elseif (is_file($local_root.$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/Image/'.$localfile)) {
+        return base64_encode( file_get_contents($local_root.$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/Image/'.$localfile));
       } elseif (is_file('../'.FCKIMAGES_DIR.'/'.$localfile)) {   ## commandline
         return base64_encode( file_get_contents('../'.FCKIMAGES_DIR.'/'.$localfile));
-      } elseif (is_file('../'.FCKIMAGES_DIR.'/image/'.$localfile)) {
-        return base64_encode( file_get_contents('../'.FCKIMAGES_DIR.'/image/'.$localfile));
+      } elseif (is_file('../'.FCKIMAGES_DIR.'/Image/'.$localfile)) {
+        return base64_encode( file_get_contents('../'.FCKIMAGES_DIR.'/Image/'.$localfile));
       }
       return 0;
     }
Index: admin/FCKeditor/editor/filemanager/connectors/phplist/config.php
===================================================================
--- admin/FCKeditor/editor/filemanager/connectors/phplist/config.php   (revision 55)
+++ admin/FCKeditor/editor/filemanager/connectors/phplist/config.php   (revision 80)
@@ -34,19 +34,20 @@
}

// SECURITY: You must explicitelly enable this "connector". (Set it to "true").

if (!defined('FCKIMAGES_DIR') && !defined('UPLOADIMAGES_DIR')) {

-  $Config['Enabled'] = false;

+  $Config['Enabled'] = true;

} elseif (defined('UPLOADIMAGES_DIR')) {

-  $imgdir = $_SERVER['DOCUMENT_ROOT'].'/'.UPLOADIMAGES_DIR.'/';

+  $imgdir = $local_root.'/'.UPLOADIMAGES_DIR.'/';

   $Config['Enabled'] = is_dir($imgdir) && is_writeable ($imgdir);

   $Config['UserFilesPath'] = '/'.UPLOADIMAGES_DIR.'/' ;

} else {

-  $imgdir = $_SERVER['DOCUMENT_ROOT'].$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/';

+  $imgdir = $local_root.$GLOBALS['pageroot'].'/'.FCKIMAGES_DIR.'/';

   $Config['Enabled'] = is_dir($imgdir) && is_writeable ($imgdir);

   // Path to user files relative to the document root.

   if (!preg_match('#/$#',$GLOBALS["pageroot"])) {

     $GLOBALS["pageroot"] = $GLOBALS["pageroot"] . '/';

   }

-  $Config['UserFilesPath'] = $GLOBALS["pageroot"].FCKIMAGES_DIR.'/' ;

+// Changed here to get the correct File http://URL

+  $Config['UserFilesPath'] = $myserverpath.$GLOBALS['pageroot'].FCKIMAGES_DIR.'/';

}



// SECURITY: You must explicitly enable this "connector". (Set it to "true").

@@ -57,7 +58,8 @@
// user files directory. Useful if you are using a virtual directory, symbolic

// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.

// Attention: The above 'UserFilesPath' must point to the same directory.

-$Config['UserFilesAbsolutePath'] = '' ;

+$Config['UserFilesAbsolutePath'] = $local_root.$pageroot.'/'.FCKIMAGES_DIR.'/' ;

+



// Due to security issues with Apache modules, it is recommended to leave the

// following setting enabled.

@@ -140,32 +142,36 @@


*/



+

+// Changed the paths here so that both normal uploads and quick uploads get to the right directory

+// Saves messing about with FileTypesPath

+

$Config['AllowedExtensions']['File']   = array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip') ;

$Config['DeniedExtensions']['File']      = array() ;

-$Config['FileTypesPath']['File']      = $Config['UserFilesPath'] . 'file/' ;

-$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;

-$Config['QuickUploadPath']['File']      = $Config['UserFilesPath'] ;

-$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;

+$Config['FileTypesPath']['File']      = $Config['UserFilesPath'] . 'File/' ;

+$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'File/' ;

+$Config['QuickUploadPath']['File']      = $Config['UserFilesPath'] . 'File/' ;

+$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] . 'File/' ;



$Config['AllowedExtensions']['Image']   = array('bmp','gif','jpeg','jpg','png') ;

$Config['DeniedExtensions']['Image']   = array() ;

-$Config['FileTypesPath']['Image']      = $Config['UserFilesPath'] . 'image/' ;

-$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;

-$Config['QuickUploadPath']['Image']      = $Config['UserFilesPath'] ;

-$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;

+$Config['FileTypesPath']['Image']      = $Config['UserFilesPath'] . 'Image/' ;

+$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'Image/' ;

+$Config['QuickUploadPath']['Image']      = $Config['UserFilesPath'] . 'Image/' ;

+$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] . 'Image/' ;



$Config['AllowedExtensions']['Flash']   = array('swf','flv') ;

$Config['DeniedExtensions']['Flash']   = array() ;

-$Config['FileTypesPath']['Flash']      = $Config['UserFilesPath'] . 'flash/' ;

-$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;

-$Config['QuickUploadPath']['Flash']      = $Config['UserFilesPath'] ;

-$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] ;

+$Config['FileTypesPath']['Flash']      = $Config['UserFilesPath'] . 'Flash/' ;

+$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'Flash/' ;

+$Config['QuickUploadPath']['Flash']      = $Config['UserFilesPath'] . 'Flash/' ;

+$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] . 'Flash/' ;



$Config['AllowedExtensions']['Media']   = array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi', 'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv') ;

$Config['DeniedExtensions']['Media']   = array() ;

-$Config['FileTypesPath']['Media']      = $Config['UserFilesPath'] . 'media/' ;

-$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;

-$Config['QuickUploadPath']['Media']      = $Config['UserFilesPath'] ;

-$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ;

+$Config['FileTypesPath']['Media']      = $Config['UserFilesPath'] . 'Media/' ;

+$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'Media/' ;

+$Config['QuickUploadPath']['Media']      = $Config['UserFilesPath'] . 'Media/' ;

+$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] . 'Media/' ;



?>



Index: admin/index.php
===================================================================
--- admin/index.php   (revision 55)
+++ admin/index.php   (revision 80)
@@ -324,7 +324,7 @@

/*
if (USEFCK) {
-  $imgdir = getenv("DOCUMENT_ROOT").$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
+  $imgdir = $local_root.$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
   if (!is_dir($imgdir) || !is_writeable ($imgdir)) {
     Warn("The FCK image directory does not exist, or is not writable");
   }

Index: admin/subscribelib2.php
===================================================================
--- admin/subscribelib2.php   (revision 55)
+++ admin/subscribelib2.php   (revision 80)
@@ -24,11 +24,11 @@
   @include_once dirname(__FILE__).'/../texts/'.basename($subscribepagedata['language_file']);
}
# Allow customisation per installation
-if (is_file($_SERVER['DOCUMENT_ROOT'].'/'.basename($GLOBALS["language_module"]))) {
-  include_once $_SERVER['DOCUMENT_ROOT'].'/'.basename($GLOBALS["language_module"]);
+if (is_file($local_root.'/'.basename($GLOBALS["language_module"]))) {
+  include_once $local_root.'/'.basename($GLOBALS["language_module"]);
}
-if (!empty($data['language_file']) && is_file($_SERVER['DOCUMENT_ROOT'].'/'.basename($data['language_file']))) {
-  include_once $_SERVER['DOCUMENT_ROOT'].'/'.basename($data['language_file']);
+if (!empty($data['language_file']) && is_file($local_root.'/'.basename($data['language_file']))) {
+  include_once $local_root.'/'.basename($data['language_file']);
}

$required = array();   # id's of missing attribbutes
Index: admin/fckphplist.php
===================================================================
--- admin/fckphplist.php   (revision 55)
+++ admin/fckphplist.php   (revision 80)
@@ -11,10 +11,10 @@
     $attcodes .= ';['.strtoupper($row[0]).']';
   }

-  $imgdir = getenv("DOCUMENT_ROOT").$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
+  $imgdir = $local_root.$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
   $enable_image_upload = is_dir($imgdir) && is_writeable ($imgdir) ? 'true':'false';

-  $smileypath = $_SERVER["DOCUMENT_ROOT"].$GLOBALS["pageroot"].'/images/smiley';
+  $smileypath = $local_root.$GLOBALS["pageroot"].'/images/smiley';
   $smileyextensions = array('gif');
   $smileys = '';
   if ($dir = opendir($smileypath)) {
@@ -115,7 +115,7 @@
// Init var :

   $IMAGES_BASE_URL = 'http://'.$_SERVER["SERVER_NAME"].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
-  $IMAGES_BASE_DIR = getenv("DOCUMENT_ROOT").$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
+  $IMAGES_BASE_DIR = $local_root.$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';

// End int var

@@ -255,7 +255,7 @@
// Init var :

   $UPLOAD_BASE_URL = 'http://'.$_SERVER["SERVER_NAME"].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
-  $UPLOAD_BASE_DIR = getenv("DOCUMENT_ROOT").$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
+  $UPLOAD_BASE_DIR = $local_root.$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';


// End int var
@@ -332,10 +332,10 @@
     $attcodes .= ';['.strtoupper($row[0]).']';
   }

-  $imgdir = $_SERVER['DOCUMENT_ROOT'].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
+  $imgdir = $local_root.$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
   $enable_image_upload = is_dir($imgdir) && is_writeable ($imgdir) ? 'true':'false';

-  $smileypath = $_SERVER["DOCUMENT_ROOT"].$GLOBALS["pageroot"].'/images/smiley';
+  $smileypath = $local_root.$GLOBALS["pageroot"].'/images/smiley';
   $smileyextensions = array('gif');
   $smileys = '';
   if ($dir = opendir($smileypath)) {
@@ -522,10 +522,10 @@
     $attcodes .= ';['.strtoupper($row[0]).']';
   }

-  $imgdir = $_SERVER['DOCUMENT_ROOT'].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
+  $imgdir = $local_root.$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';
   $enable_image_upload = is_dir($imgdir) && is_writeable ($imgdir) ? 'true':'false';

-  $smileypath = $_SERVER["DOCUMENT_ROOT"].$GLOBALS["pageroot"].'/images/smiley';
+  $smileypath = $local_root.$GLOBALS["pageroot"].'/images/smiley';
   $smileyextensions = array('gif');
   $smileys = '';
   if ($dir = opendir($smileypath)) {
@@ -743,10 +743,12 @@
     $attcodes .= ';['.strtoupper($row[0]).']';
   }

-  $imgdir = $_SERVER['DOCUMENT_ROOT'].$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';

+  $imgdir = $local_root.$GLOBALS["pageroot"].'/'.FCKIMAGES_DIR.'/';

   $enable_image_upload = is_dir($imgdir) && is_writeable ($imgdir) ? 'true':'false';

-  $smileypath = $_SERVER["DOCUMENT_ROOT"].$GLOBALS["pageroot"].'/images/smiley';
+  $smileypath = $local_root.$GLOBALS["pageroot"].'/images/smiley';
   $smileyextensions = array('gif');
   $smileys = '';
   if (is_dir($smileypath)) {

Index: index.php
===================================================================
--- index.php   (revision 55)
+++ index.php   (revision 80)
@@ -36,8 +36,8 @@
require_once dirname(__FILE__)."/texts/english.inc";
include_once dirname(__FILE__)."/texts/".$GLOBALS["language_module"];
# Allow customisation per installation
-if (is_file($_SERVER['DOCUMENT_ROOT'].'/'.$GLOBALS["language_module"])) {
-  include_once $_SERVER['DOCUMENT_ROOT'].'/'.$GLOBALS["language_module"];
+if (is_file($local_root.'/'.$GLOBALS["language_module"])) {
+  include_once $local_root.'/'.$GLOBALS["language_module"];
}

require_once dirname(__FILE__)."/admin/defaultconfig.inc";
@@ -207,8 +207,8 @@
     if (isset($data['language_file']) && is_file(dirname(__FILE__).'/texts/'.basename($data['language_file']))) {
       @include dirname(__FILE__).'/texts/'.basename($data['language_file']);
       # Allow customisation per installation
-      if (is_file($_SERVER['DOCUMENT_ROOT'].'/'.basename($data['language_file']))) {
-        include_once $_SERVER['DOCUMENT_ROOT'].'/'.basename($data['language_file']);
+      if (is_file($local_root.'/'.basename($data['language_file']))) {
+        include_once $local_root.'/'.basename($data['language_file']);
       }
     }
     
reetp
PL Nut
 
Posts: 20
Joined: 1:52pm, Wed 20 Oct, 2010

Re: Image uploading solution

Postby reetp » 2:08pm, Mon 06 Feb, 2012

Whilst I think about it....

Before hacking everything to pieces as above, for a simpler approach try here first :

http://docs.phplist.com/UsingFCKEditor

There are a lot of threads in the forums about this situation and the biggest problem I had was sorting the wheat from the chaff as some of the 'solutions' were outdated.

B. Rgds,
John
reetp
PL Nut
 
Posts: 20
Joined: 1:52pm, Wed 20 Oct, 2010

Re: Image uploading solution

Postby maxtran » 5:20am, Sat 25 Feb, 2012

yes the instruction at that page works!

http://docs.phplist.com/UsingFCKEditor

just be sure to have the uploadimages folder owned by the the userid that run the webserver processes.
maxtran
phpList newbie
 
Posts: 3
Joined: 5:08am, Sat 25 Feb, 2012

Re: Image uploading solution

Postby gasoline » 2:32pm, Thu 29 Mar, 2012

reetp wrote:Whilst I think about it....

Before hacking everything to pieces as above, for a simpler approach try here first :

http://docs.phplist.com/UsingFCKEditor

There are a lot of threads in the forums about this situation and the biggest problem I had was sorting the wheat from the chaff as some of the 'solutions' were outdated.

B. Rgds,
John



This is not true, at least for me.

When I use the UPLOAD the image is placed in folder uploadimages. But when I click BROWSE SERVER it looks in uploadimages/image

WHAT the hell is going wrong. I can not find it!

Image
gasoline
PL Nut
 
Posts: 22
Joined: 5:18pm, Sun 03 Dec, 2006


Return to Question & Problems - after installing

Who is online

Users browsing this forum: No registered users and 2 guests