starscream.pt Posted December 28, 2007 Share Posted December 28, 2007 Hello there again, i'm using a shopping cart called plaincart, everything works perfectly but the image upload, i was told it has something to do with GD not being enabled, i'm running wamp on a local machine, using PHP version : 5.2.4 and the error message is get is: Fatal error: Call to undefined function imagecreatetruecolor() in Z:\wamp\www\plaincart\admin\library\functions.php on line 223 the php code is: <?php /* Check if a session user id exist or not. If not set redirect to login page. If the user session id exist and there's found $_GET['logout'] in the query string logout the user */ function checkUser() { // if the session id is not set, redirect to login page if (!isset($_SESSION['plaincart_user_id'])) { header('Location: ' . WEB_ROOT . 'admin/login.php'); exit; } // the user want to logout if (isset($_GET['logout'])) { doLogout(); } } /* */ function doLogin() { // if we found an error save the error message in this variable $errorMessage = ''; $userName = $_POST['txtUserName']; $password = $_POST['txtPassword']; // first, make sure the username & password are not empty if ($userName == '') { $errorMessage = 'You must enter your username'; } else if ($password == '') { $errorMessage = 'You must enter the password'; } else { // check the database and see if the username and password combo do match $sql = "SELECT user_id FROM tbl_user WHERE user_name = '$userName' AND user_password = md5('$password')"; $result = dbQuery($sql); if (dbNumRows($result) == 1) { $row = dbFetchAssoc($result); $_SESSION['plaincart_user_id'] = $row['user_id']; // log the time when the user last login $sql = "UPDATE tbl_user SET user_last_login = NOW() WHERE user_id = '{$row['user_id']}'"; dbQuery($sql); // now that the user is verified we move on to the next page // if the user had been in the admin pages before we move to // the last page visited if (isset($_SESSION['login_return_url'])) { header('Location: ' . $_SESSION['login_return_url']); exit; } else { header('Location: index.php'); exit; } } else { $errorMessage = 'Wrong username or password'; } } return $errorMessage; } /* Logout a user */ function doLogout() { if (isset($_SESSION['plaincart_user_id'])) { unset($_SESSION['plaincart_user_id']); session_unregister('plaincart_user_id'); } header('Location: login.php'); exit; } /* Generate combo box options containing the categories we have. if $catId is set then that category is selected */ function buildCategoryOptions($catId = 0) { $sql = "SELECT cat_id, cat_parent_id, cat_name FROM tbl_category ORDER BY cat_id"; $result = dbQuery($sql) or die('Cannot get Product. ' . mysql_error()); $categories = array(); while($row = dbFetchArray($result)) { list($id, $parentId, $name) = $row; if ($parentId == 0) { // we create a new array for each top level categories $categories[$id] = array('name' => $name, 'children' => array()); } else { // the child categories are put int the parent category's array $categories[$parentId]['children'][] = array('id' => $id, 'name' => $name); } } // build combo box options $list = ''; foreach ($categories as $key => $value) { $name = $value['name']; $children = $value['children']; $list .= "<optgroup label=\"$name\">"; foreach ($children as $child) { $list .= "<option value=\"{$child['id']}\""; if ($child['id'] == $catId) { $list.= " selected"; } $list .= ">{$child['name']}</option>\r\n"; } $list .= "</optgroup>"; } return $list; } /* If you want to be able to add products to the first level category replace the above function with the one below */ /* function buildCategoryOptions($catId = 0) { $sql = "SELECT cat_id, cat_parent_id, cat_name FROM tbl_category ORDER BY cat_id"; $result = dbQuery($sql) or die('Cannot get Product. ' . mysql_error()); $categories = array(); while($row = dbFetchArray($result)) { list($id, $parentId, $name) = $row; if ($parentId == 0) { // we create a new array for each top level categories $categories[$id] = array('name' => $name, 'children' => array()); } else { // the child categories are put int the parent category's array $categories[$parentId]['children'][] = array('id' => $id, 'name' => $name); } } // build combo box options $list = ''; foreach ($categories as $key => $value) { $name = $value['name']; $children = $value['children']; $list .= "<option value=\"$key\""; if ($key == $catId) { $list.= " selected"; } $list .= ">$name</option>\r\n"; foreach ($children as $child) { $list .= "<option value=\"{$child['id']}\""; if ($child['id'] == $catId) { $list.= " selected"; } $list .= "> {$child['name']}</option>\r\n"; } } return $list; } */ /* Create a thumbnail of $srcFile and save it to $destFile. The thumbnail will be $width pixels. */ function createThumbnail($srcFile, $destFile, $width, $quality = 75) { $thumbnail = ''; if (file_exists($srcFile) && isset($destFile)) { $size = getimagesize($srcFile); $w = number_format($width, 0, ',', ''); $h = number_format(($size[1] / $size[0]) * $width, 0, ',', ''); $thumbnail = copyImage($srcFile, $destFile, $w, $h, $quality); } // return the thumbnail file name on sucess or blank on fail return basename($thumbnail); } /* Copy an image to a destination file. The destination image size will be $w X $h pixels */ function copyImage($srcFile, $destFile, $w, $h, $quality = 75) { $tmpSrc = pathinfo(strtolower($srcFile)); $tmpDest = pathinfo(strtolower($destFile)); $size = getimagesize($srcFile); if ($tmpDest['extension'] == "gif" || $tmpDest['extension'] == "jpg") { $destFile = substr_replace($destFile, 'jpg', -3); $dest = imagecreatetruecolor($w, $h); imageantialias($dest, TRUE); } elseif ($tmpDest['extension'] == "png") { $dest = imagecreatetruecolor($w, $h); imageantialias($dest, TRUE); } else { return false; } switch($size[2]) { case 1: //GIF $src = imagecreatefromgif($srcFile); break; case 2: //JPEG $src = imagecreatefromjpeg($srcFile); break; case 3: //PNG $src = imagecreatefrompng($srcFile); break; default: return false; break; } imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]); switch($size[2]) { case 1: case 2: imagejpeg($dest,$destFile, $quality); break; case 3: imagepng($dest,$destFile); } return $destFile; } /* Create the paging links */ function getPagingNav($sql, $pageNum, $rowsPerPage, $queryString = '') { $result = mysql_query($sql) or die('Error, query failed. ' . mysql_error()); $row = mysql_fetch_array($result, MYSQL_ASSOC); $numrows = $row['numrows']; // how many pages we have when using paging? $maxPage = ceil($numrows/$rowsPerPage); $self = $_SERVER['PHP_SELF']; // creating 'previous' and 'next' link // plus 'first page' and 'last page' link // print 'previous' link only if we're not // on page one if ($pageNum > 1) { $page = $pageNum - 1; $prev = " <a href=\"$self?page=$page{$queryString}\">[Prev]</a> "; $first = " <a href=\"$self?page=1{$queryString}\">[First Page]</a> "; } else { $prev = ' [Prev] '; // we're on page one, don't enable 'previous' link $first = ' [First Page] '; // nor 'first page' link } // print 'next' link only if we're not // on the last page if ($pageNum < $maxPage) { $page = $pageNum + 1; $next = " <a href=\"$self?page=$page{$queryString}\">[Next]</a> "; $last = " <a href=\"$self?page=$maxPage{$queryString}{$queryString}\">[Last Page]</a> "; } else { $next = ' [Next] '; // we're on the last page, don't enable 'next' link $last = ' [Last Page] '; // nor 'last page' link } // return the page navigation link return $first . $prev . " Showing page <strong>$pageNum</strong> of <strong>$maxPage</strong> pages " . $next . $last; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/ Share on other sites More sharing options...
Daniel0 Posted December 28, 2007 Share Posted December 28, 2007 It is because you haven't loaded the gd extension. Check php.ini Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424818 Share on other sites More sharing options...
nafetski Posted December 28, 2007 Share Posted December 28, 2007 i was told it has something to do with GD not being enabled It's because GD isn't enabled/installed Call to undefined function imagecreatetruecolor() That error simply means you're trying to execute a function that hasn't been created/defined. http://www.php.net/imagecreatetruecolor. Explains it a bit more Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424820 Share on other sites More sharing options...
starscream.pt Posted December 28, 2007 Author Share Posted December 28, 2007 but how exactly do i load it? i removed the ; from the start of the file: ;Windows Extensions ;Note that ODBC support is built in, so no dll is needed for it. ; extension=php_mbstring.dll ;extension=php_bz2.dll ;extension=php_cpdf.dll ;extension=php_curl.dll ;extension=php_dba.dll ;extension=php_dbase.dll ;extension=php_dbx.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_ifx.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll ;extension=php_ming.dll ;extension=php_mssql.dll ;extension=php_msql.dll extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ;extension=php_openssl.dll ;extension=php_oracle.dll ;extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_sockets.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xsl.dll ;extension=php_zip.dll extension=php_pdo.dll extension=php_pdo_sqlite.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_ibm.dll :extension=php_pdo_informix.dll ;extension=php_pdo_oci8.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll extension=php_sqlite.dll ;extension=php_pdo_sqlite_external.dll ;extension=php_apc.dll ;extension=php_apd.dll ;extension=php_bcompiler.dll ;extension=php_bitset.dll ;extension=php_blenc.dll ;extension=php_bz2_filter.dll ;extension=php_classkit.dll ;extension=php_crack.dll ;extension=php_cvsclient.dll ;extension=php_db.dll ;extension=php_dio.dll ;extension=php_docblock.dll ;extension=php_domxml.dll ;extension=php_event.dll ;extension=php_ffi.dll ;extension=php_fileinfo.dll ;extension=php_fribidi.dll ;extension=php_gmp.dll ;extension=php_gopher.dll ;extension=php_haru.dll ;extension=php_htscanner.dll ;extension=php_hyperwave.dll ;extension=php_ibm_db2.dll ;extension=php_id3.dll ;extension=php_imagick.dll ;extension=php_ingres.dll ;extension=php_java.dll ;extension=php_lzf.dll ;extension=php_mailparse.dll ;extension=php_maxdb.dll ;extension=php_mcrypt_filter.dll ;extension=php_netools.dll ;extension=php_ntuser.dll ;extension=php_oggvorbis.dll ;extension=php_operator.dll ;extension=php_parsekit.dll ;extension=php_phar.dll ;extension=php_phpdoc.dll ;extension=php_pop3.dll ;extension=php_printer.dll ;extension=php_pspell.dll ;extension=php_radius.dll ;extension=php_rar.dll ;extension=php_runkit.dll ;extension=php_sam.dll ;extension=php_sdo.dll ;extension=php_smtp.dll ;extension=php_soap.dll ;extension=php_ssh2.dll ;extension=php_stats.dll ;extension=php_stem.dll ;extension=php_svn.dll ;extension=php_swish.dll ;extension=php_threads.dll ;extension=php_timezonedb.dll ;extension=php_translit.dll ;extension=php_uploadprogress.dll ;extension=php_win32ps.dll ;extension=php_win32scheduler.dll ;extension=php_win32service.dll ;extension=php_yaz.dll ;extension=php_zlib_filter.dll still giving the same error, and i have exited and loades wamp again :\ Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424821 Share on other sites More sharing options...
kenrbnsn Posted December 28, 2007 Share Posted December 28, 2007 Your webserver needs to be restarted for the change to become effective. Ken Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424823 Share on other sites More sharing options...
starscream.pt Posted December 28, 2007 Author Share Posted December 28, 2007 i have restarted wamp, still not working, maybe i should try the "classic" windows restart Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424824 Share on other sites More sharing options...
kenrbnsn Posted December 28, 2007 Share Posted December 28, 2007 No, that shouldn't be necessary. Did you edit the correct php.ini file? Ken Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424827 Share on other sites More sharing options...
starscream.pt Posted December 28, 2007 Author Share Posted December 28, 2007 í edited the one inside wamp\php\php.ini EDIT: still not working as expected :\ Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424830 Share on other sites More sharing options...
GingerRobot Posted December 28, 2007 Share Posted December 28, 2007 If you're using WAMP, it should just be a case of clicking on the server icon in the system tray, then going to PHP settings=>PHP extensions and making sure that php_gd2 is checked - it should restart the server for you. Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424837 Share on other sites More sharing options...
starscream.pt Posted December 28, 2007 Author Share Posted December 28, 2007 helll yeah!!!! working 100% now!! i jsut hope my future webserver does support this kinda stuff, do you think i'll have any probs with that? Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424847 Share on other sites More sharing options...
GingerRobot Posted December 28, 2007 Share Posted December 28, 2007 All decent hosts that support php will have a recent version of the GD library installed. Quote Link to comment https://forums.phpfreaks.com/topic/83502-solved-fatal-error-call-to-undefined-function-imagecreatetruecolor/#findComment-424858 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.