Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Ce e aratarea asta ?

Probleme timonerie schimbator sau...

Numar strada gresit in contractul...

Centrala Ariston Cares Premium 24...
 La multi ani @Klasse!

La multi ani @shmecherul!

pareri ipad 6-2018- flip

Cum au aparut supermarketurile in...
 Campanii mincinoase Carrefour

Tv toshiba defect

touchscreen navigatie stricat

bonsai - de unde?
 Resetare Bonus Malus

Unitatea optica DVD-rw absenta pe...

Problema configurare Wireguard

Dozatoare de apa, cu alimentare d...
 

Eroare la includerea unui alt fisier unde sunt scrise clasele

- - - - -
  • Please log in to reply
5 replies to this topic

#1
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
Pentru a putea structura mai bine proiectul si utilza parti de cod si in alte pagini, am facut un fisier cu niste clase. Mai jos este un exemplu minimalist de apel a unei clase scrise in alt fisier care merge, si care elimina suspiciunea ca ar fi probleme de acces, de adminstrare, etc...Cu toate acestea in programul meu imi da un mesaj de eroare, ca nu gaseste fisierul in care am scris clasele.
Daca ati putea sa imi dati un sfat. Pe net nu am gasit inca o solutie si imi pare dubios ca merge cu exemplul de mai jos dar nu merge cu aplicatia din proiect.

FISIERUL NUMIT
Apelat.php    
<?php       // ACEST FISIER CONTINE O CLASA clasaMea
class clasaMea
{
    function transcrie($a) // ACESTA ESTE UN STRING CARE VA FI CONCATENAT CU ALT STRING
    {
  $s=$a." text din metoda clasei apelate ";
  return $s;
    }
}
?>
index.php
<?php
echo "Acesta este doar un test.";
include 'Apelat.php';
$x=" text care va fi prelucrat ";
$obj=new clasaMea();
echo "<br>acesta este rezultatul apelului metodei transcrie din clasa clasaMea.";
echo "<br>";
echo $obj->transcrie($x);
?>

DECI PENTRU EXEMPLU DE MAI SUS TOTUL E OK, DAR IN PROIECTUL MEU CAPAT MESAJUL:
Warning: include(clase.php): failed to open stream: No such file or directory in C:\wamp64\www\Proiect2\index.php on line 86
Call Stack


( ! ) Warning: include(): Failed opening 'clase.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp64\www\Proiect2\index.php on line 86

Ei bine, nu este adevarat, fiserul respectiv exista si am toate drepturile asupra lui, de scriere, etc...

#2
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,067
  • Înscris: 24.02.2006
unde exista fisierul respectiv?

#3
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
Fisierul este in directorul in care am proiectul. Acelasi lucru am facut cu cele doua fisiere de mai sus si a mers...Nu e o situatie diferita. De fapt imi si zice unde cauta fisierul in mesajul de eroare.
"C:\wamp64\www\Proiect2"

#4
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,067
  • Înscris: 24.02.2006
incearca sa citesti si sa intelegi documentatia functiilor pe care vrei sa le folosesti: http://php.net/manua...ion.include.php . de asemenea, ajuta mult sa citesti cu atentie si sa intelegi mesajele de eroare pe care le primesti.

lasand deoparte varza din exemplul tau (uite Apelat.php, stai ca nu-i clase.php): include_path e relativ la fisierul php.ini (in care e definit). cel mai probabil exemplul care-ti merge l-ai testat direct in folderul radacina (adica Apelat.php si php.ini erau in acelasi folder, deci a functionat punctul din "include_path"), iar acum incerci sa faci ceva similar dar in alt folder (Proiect2) si evident ca noua cale nu se regaseste in "include_path"

#5
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
Nu am testat in radacina. I-am pus numele "index.php" pentru ca asa imi considera ca pagina de pornire fisierul index cand dau click pe folderul care imi apare in "loacal host". Alfel imi apare continutul folderului. In sfarsit, asta nu are mare relevanta aici.
Acum exemplu initial era cu "apelat.php" si "apelant.php". Daca pun cele doua fisiere oriunde in directorul www, merge, dar nu si exemplul meu. Indiferent cum le redenumesc cu conditia sa specific correct numele fisierului care contine clasa.
Am copiat cele doua fisiere in si directorul "Proiect2" dupa ce am pus tot ce era acolo intr-o rezerva. Am incercat si in alt folder.  Exemplul acela simplu merge. O sa citesc cu mai multa atentie ce scrie acolo.
Daca fac tot proiectul intr-un singur fisier merge dar mi-e foarte de folos sa lucrez mai structurat. Am facut acelasi proiect in C# dar a fost mult mai simplu cand e vorba de clase.

Multumesc de sfaturi.

#6
ursudepadure

ursudepadure

    Junior Member

  • Grup: Members
  • Posts: 232
  • Înscris: 28.04.2012
Cred ca am gasit buba. Eu folosesc utf-8 iar pagina mea era creata automat ca ANSI...
cand de fapt ce am eu de facut inseamna  folosrea multor  diacritice si alte caractere speciale.

Am si declarat ...header('Content-Type: text/html; charset=utf-8')

Eu am facut intai un fisier text caruia i-am modifcat extensia dar el a ramas ANSI si eu am uitat de asta. Se pare ca are legatura cu asta, ca acuma imi citeste fisierul.
:) Pe acel exemplu simplu nu conta asta.

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate