luamm 0 Denunciar post Postado Novembro 8, 2005 Salve Galera, Preciso muito da ajuda de vcs http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Seguinte gente... Tô instalando uma Loja OSCommerce, pra quem já mexeu com ele e manja bem de PHP tira de letra, mais eu..... programo em ASP e agora tô começando a mexer com PHP, por isso estou humildemente pedindo ajuda. Quem já implementou o OSCommerce sabe que o barato funciona com módulos, você vai instalando e personalizando sua loja. Ele possui uma administração e é nela que mora o meu problema... no módulo dos produtos. Quando vou inserir ou alterar algum produto, assim como suas imagens, me ocorre o seguinte erro: Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/home/mariaelviradesigner/public_html/images/aspiral.jpg) is not within the allowed path(s): (/home/restricted/home/mariaelviradesigner:/tmp) in /home/restricted/home/mariaelviradesigner/public_html/admin/includes/classes/upload.php on line 94Vejam meu arquivo upload.php: <?php /* $Id: upload.php,v 1.2 2003/06/20 00:18:30 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2003 osCommerce Released under the GNU General Public License */ class upload { var $file, $filename, $destination, $permissions, $extensions, $tmp_filename, $message_location; function upload($file = '', $destination = '', $permissions = '1777', $extensions = '') { $this->set_file($file); $this->set_destination($destination); $this->set_permissions($permissions); $this->set_extensions($extensions); $this->set_output_messages('direct'); if (tep_not_null($this->file) && tep_not_null($this->destination)) { $this->set_output_messages('session'); if ( ($this->parse() == true) && ($this->save() == true) ) { return true; } else { // self destruct $this-> null; return false; } } } function parse() { global $messageStack; if (isset($_FILES[$this->file])) { $file = array('name' => $_FILES[$this->file]['name'], 'type' => $_FILES[$this->file]['type'], 'size' => $_FILES[$this->file]['size'], 'tmp_name' => $_FILES[$this->file]['tmp_name']); } elseif (isset($GLOBALS['HTTP_POST_FILES'][$this->file])) { global $HTTP_POST_FILES; $file = array('name' => $HTTP_POST_FILES[$this->file]['name'], 'type' => $HTTP_POST_FILES[$this->file]['type'], 'size' => $HTTP_POST_FILES[$this->file]['size'], 'tmp_name' => $HTTP_POST_FILES[$this->file]['tmp_name']); } else { $file = array('name' => (isset($GLOBALS[$this->file . '_name']) ? $GLOBALS[$this->file . '_name'] : ''), 'type' => (isset($GLOBALS[$this->file . '_type']) ? $GLOBALS[$this->file . '_type'] : ''), 'size' => (isset($GLOBALS[$this->file . '_size']) ? $GLOBALS[$this->file . '_size'] : ''), 'tmp_name' => (isset($GLOBALS[$this->file]) ? $GLOBALS[$this->file] : '')); } if ( tep_not_null($file['tmp_name']) && ($file['tmp_name'] != 'none') && is_uploaded_file($file['tmp_name']) ) { if (sizeof($this->extensions) > 0) { if (!in_array(strtolower(substr($file['name'], strrpos($file['name'], '.')+1)), $this->extensions)) { if ($this->message_location == 'direct') { $messageStack->add(ERROR_FILETYPE_NOT_ALLOWED, 'error'); } else { $messageStack->add_session(ERROR_FILETYPE_NOT_ALLOWED, 'error'); } return false; } } $this->set_file($file); $this->set_filename($file['name']); $this->set_tmp_filename($file['tmp_name']); return $this->check_destination(); } else { if ($this->message_location == 'direct') { $messageStack->add(WARNING_NO_FILE_UPLOADED, 'warning'); } else { $messageStack->add_session(WARNING_NO_FILE_UPLOADED, 'warning'); } return false; } } function save() { global $messageStack; if (substr($this->destination, -1) != '/') $this->destination .= '/'; Linha 94 if (move_uploaded_file($this->file['tmp_name'], $this->destination . $this->filename)) { chmod($this->destination . $this->filename, $this->permissions); if ($this->message_location == 'direct') { $messageStack->add(SUCCESS_FILE_SAVED_SUCCESSFULLY, 'success'); } else { $messageStack->add_session(SUCCESS_FILE_SAVED_SUCCESSFULLY, 'success'); } return true; } else { if ($this->message_location == 'direct') { $messageStack->add(ERROR_FILE_NOT_SAVED, 'error'); } else { $messageStack->add_session(ERROR_FILE_NOT_SAVED, 'error'); } return false; } } function set_file($file) { $this->file = $file; } function set_destination($destination) { $this->destination = $destination; } function set_permissions($permissions) { $this->permissions = octdec($permissions); } function set_filename($filename) { $this->filename = $filename; } function set_tmp_filename($filename) { $this->tmp_filename = $filename; } function set_extensions($extensions) { if (tep_not_null($extensions)) { if (is_array($extensions)) { $this->extensions = $extensions; } else { $this->extensions = array($extensions); } } else { $this->extensions = array(); } } function check_destination() { global $messageStack; if (!is_writeable($this->destination)) { if (is_dir($this->destination)) { if ($this->message_location == 'direct') { $messageStack->add(sprintf(ERROR_DESTINATION_NOT_WRITEABLE, $this->destination), 'error'); } else { $messageStack->add_session(sprintf(ERROR_DESTINATION_NOT_WRITEABLE, $this->destination), 'error'); } } else { if ($this->message_location == 'direct') { $messageStack->add(sprintf(ERROR_DESTINATION_DOES_NOT_EXIST, $this->destination), 'error'); } else { $messageStack->add_session(sprintf(ERROR_DESTINATION_DOES_NOT_EXIST, $this->destination), 'error'); } } return false; } else { return true; } } function set_output_messages($location) { switch ($location) { case 'session': $this->message_location = 'session'; break; case 'direct': default: $this->message_location = 'direct'; break; } } } ?> Já tentei de tudo, mandei responder as variáveis e estão todas com valor... Será que alguém me dá uma luz ??? :blink: O arquivo que chama a classe de upload acima é o "categories.php", nele eu tenho o seguinte script: <?php . . . require(DIR_WS_CLASSES . 'upload.php'); . . . case 'new_product_preview': // copy image only if modified $products_image = new upload('products_image'); $products_image->set_destination(DIR_FS_CATALOG_IMAGES); if ($products_image->parse() && $products_image->save()) { $products_image_name = $products_image->filename; } else { $products_image_name = (isset($HTTP_POST_VARS['products_previous_image']) ? $HTTP_POST_VARS['products_previous_image'] : ''); } break; . . . ?> Espero com esperança que alguém possa me ajudar, pois é urgente! Abrçs, LUAMM http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Novembro 8, 2005 ve se você precisa dar permissao de escrita no diretorio, se for o caso use um porograma ftp e de mude as permissoes do CHMOD Compartilhar este post Link para o post Compartilhar em outros sites
luamm 0 Denunciar post Postado Novembro 9, 2005 Olá Fabyo! Obrigada pela resposta... Seguinte a pasta para onde estou tentanto mandar a imagem, já possui permissão 777 e se você ver o arquivo upload.php que eu mandei no post anterior, na linha 95, estou utilizando a função CHMOD: chmod($this->destination . $this->filename, $this->permissions);Em $this->permissions já está levando o valor 0777, tb já tentei 1777 e apenas 777 Alguma idéia? BJS LUAMM Compartilhar este post Link para o post Compartilhar em outros sites
vinicius015 0 Denunciar post Postado Novembro 9, 2005 Fala brother...essa Os.. q você ta usando, eh a versao portugues ou ingles, se for ingles baixa, la na sessao dos colunistas, q tem uma traduzida e algas coisas, aprimorada, abracao vinny Compartilhar este post Link para o post Compartilhar em outros sites
luamm 0 Denunciar post Postado Novembro 9, 2005 Olá vinicius015, Olha... a administração eu customizei em português, mais o site esta em três idiomas! Mais imagino que não tenha a ver com isso! De qq modo valew :) Luamm O.B.S.: Ahhh... E não é "brother" é "sister" http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
vinicius015 0 Denunciar post Postado Novembro 10, 2005 Ops... desculpe "sister" rsrsrrs.. foi mlaas, mals memso srsrs, jha que nao eh hommem, bjus rsrs vinny Compartilhar este post Link para o post Compartilhar em outros sites