Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Huawei band 8

Statii de benzina DHR

Windows XP Volume License

Noul degresant universal
 Imaginea nu poate fi redata - Ero...

"Mafiotii" revin in forta...

Branșament gaze 2024 sau pom...

Lamurire bec led h7
 Preturi momeala ? (dar care e sme...

Realizare tavan fals rigips

Alternative pod Giurgiu - Ruse

Cat spatiu stocare aveti in total...
 Reflux

Centrale termice compacte

Portofoliu incepator pe Bursa New...

Probabil inselatorie pe OLX
 

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,112
  • Î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,112
  • Î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

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 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