Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mr Loke

failed to open stream: No such file or directory

Recommended Posts

entao pessoal antes de tudo obrigado esse forum sempre salva e tal meu erro é esse !

 

Warning: include(pedidos.php) [function.include]: failed to open stream: No such file or directory in E:\Arquivos de programas\VertrigoServ\www\pinga\colunaCentral.php on line 9

 

Warning: include() [function.include]: Failed opening 'pedidos.php' for inclusion (include_path='.;E:\Arquivos de programas\VertrigoServ\Smarty') in E:\Arquivos de programas\VertrigoServ\www\pinga\colunaCentral.php on line 9

 

Esse na hora q eu Meus Pedidos !

 

Agora o Script

 

Linha 9 include($pg.".php");

 

ele completo

 

Linha 8 if ($pg && $achou){

Linha 9 include($pg.".php");

 

Outro Erro

 

Warning: Invalid argument supplied for foreach() in E:\Arquivos de programas\VertrigoServ\www\pinga\carrinho.php on line 52

 

51 <?php

Linha 52 foreach($todosOsProdutos as $p){

53 if($flag==1){

54 $bgcolor="#f3f3f3";

55 $flag=0;

56 }else{

57 $bgcolor="#ffffff";

58 $flag=1;

59 }

60 ?>

 

outro

 

Warning: Invalid argument supplied for foreach() in E:\Arquivos de programas\VertrigoServ\www\pinga\extra\CarrinhoDeCompras.class.php on line 61

 

//Pega o valor total das compras do usuário

function getTotal() {

$this->getCarrinho();

$total = 0;

Linha 61 foreach($this->carrinho as $produto) {

$total += $produto->getPreco()*$produto->getQuantidade();

}

return $total;

 

EnTao Alguem Sabe Me FAlar oq ta errado ?

 

Detalhe No Servidor nao da erro so quando fui troka de servidor q deu isso ! obrigado

 

Bom o que tá acontecendo e o seguinte:

 

 

Warning: include(pedidos.php) [function.include]: failed to open stream: No such file or directory in E:\Arquivos de programas\VertrigoServ\www\pinga\colunaCentral.php on line 9

 

Warning: include() [function.include]: Failed opening 'pedidos.php' for inclusion (include_path='.;E:\Arquivos de programas\VertrigoServ\Smarty') in E:\Arquivos de programas\VertrigoServ\www\pinga\colunaCentral.php on line 9

 

$achou=array_search($pg,$paginas);

if ($pg && $achou){
//line 9

include($pg.".php");
}else if($pg){

 

Warning: Invalid argument supplied for foreach() in E:\Arquivos de programas\VertrigoServ\www\pinga\carrinho.php on line 52

<?php
//Line 52
foreach ( $todosOsProdutos as $p ) {
if ( $flag == 1 ) {
	$bgcolor = "#f3f3f3";
	$flag = 0;
} else {
	$bgcolor = "#ffffff";
	$flag = 1;
}
}
?>

 

Warning: Invalid argument supplied for foreach() in E:\Arquivos de programas\VertrigoServ\www\pinga\extra\CarrinhoDeCompras.class.php on line 61

 

 

//Pega o valor total das compras do usuário
function getTotal() {
$this->getCarrinho();
$total = 0;
//Line 61
foreach ( $this->carrinho as $produto ) {
	$total += $produto->getPreco() * $produto->getQuantidade();
}
return $total;
}

 

 

Bom Obrigado Des de Já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Significa que o arquivo pedidos.php não está sendo encontrado a partir do diretório onde o script em execução se encontra.

 

Se quem executa for index.php, para que pedidos.php seja localizado e incluído, ambos devem estar no mesmo diretório.

 

Para evitar esse problema use caminhos relativos à quem dá o include/require, com ./ (este diretório) e ../ (um nível acima, isto é, diretório atrás) OU, para evitar problemas com caminhos relativos, use caminhos absolutos.

 

No arquivo principal do sistema, que sempre fica na raiz da aplicação, defina uma constante que reflita o caminho absoluto para aquele arquivo:

 

define( 'BASEPATH', getcwd() . DIRECTORY_SEPARATOR );

E toda vez que for incluir algo, comece o include/require com essa constante e você SEMPRE estará no diretório raiz:

 

include BASEPATH . um/diretorio/bem/longe/com/um/arquivo.php

Vai incluir o arquivo.php dentro de todos esses diversos diretórios mas a localização do primeiro deles, o um, se dará a partir do diretório raiz da aplicação.

 

Quanto a dar erro em um servidor e não dar em outro, é questão de configuração diferente entre eles.

 

Possivelmente, no antigo, os erros estavam ocultos ou o alertade erros muito baixo.

 

Outra dica seria nesse mesmo arquivo que você definiria essa constante, porém antes da própria constante usar:

 

ini_set( 'display_errors', TRUE );

error_reporting( E_ALL | E_STRICT );

Assim você força que os erros sejam mostrados em todos os níveis possíveis e pode programar de forma mais correta pois sempre que algo estiver errado, aparecerá em tela.

 

Nota: ini_set() pode estar desativada em alguns servidores, portanto ela pode não funcionar em alguns servidores do tipo 'chulé'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, ta meio confuso, mais beleza.

 

o Primeiro ali , ele não está achando a pagina que você ta dando include..

 

o Segundo e o Terceiro você está dando Foreach em uma variavel vazia.

 

entao faça tipo.

 

if ($todosOsProdutos != "") {
   foreach ($todosOsProdutos .....

a mesma coisa no 3!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Borsatti, essa "validação" antes do foreach não funciona.

Veja o seguinte caso:

 

$teste = 'um valor qualquer';

if ( $teste != '' ) {
foreach( $teste as $row ) {
	echo $row;
}
}

 

Vai dar erro, porque o foreach não itera strings. Uma validação segura pode ser feita dessa maneira:

 

if ( is_array( $teste ) && !empty( $teste ) ) {
foreach( $teste as $row ) {
	echo $row;
}
}

 

Dessa maneira o if irá validar apenas arrays que não estejam vazios.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.