Image uploading solution

Once you've installed phpList Version 2... ask questions here!
Forum rules
Please help the volunteers to help you by supplying the version of phpList you are using, browser & version and if possible, a link to your phpList installation. This is for Version 2 of phpList (the orange one).

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: 25
Joined: 5:18pm, Sun 03 Dec, 2006


Return to Question & Problems - after installing

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 5 guests