Kezdőoldal » Számítástechnika » Programozás » Miért nem tudok PHP-ban...

Miért nem tudok PHP-ban semmilyen lekérést végrehajtani?

Figyelt kérdés

Adott egy CPaneles webtárhely.

Sem a file_get_contents, sem a Curl, sem az fopen lekérés nem működik PHP-ban az allow_fopen beállítás engedélyezése ellenére sem.

Lehetőségeim korlátozottak, a tárhely nem saját, és jelenleg is van már rajta tartalom, így csak korlátozottan van lehetőségem a konfigurációval kísérletezni.


Tegyük fel, hogy van egy dinamikusan frissülő JSON fájlunk, amit szeretnék lekérni. Hiába próbálkozom, egyszerűen nem tudom megtenni a lekérést (localhoston, XAMPP-el működik). A file_get_contentsből indultam ki, ami nem nyert. Alternatívaként a (tárhelyen szintén engedélyezett) Curl-el folytattam a sort, ami ismét nem adott vissza semmit, végül az fopennel próbálkoztam, nem működött.


Áttúrtam az összes alternatívát, legalább 15 oldalt a neten ( + beszélgettem a ChatGPT-vel is :D), de nem jutottam eredményre.


Több forrásból is próbáltam lekérni, egyik sem működött.


Mi a teendő ilyenkor? Ahogy korábban is írtam, a tárhely nem az enyém, a tulajdonosa pedig nem hozzáértő, így a lehetőségek nagyban korlátozottak. Tartalom is van rajta, amit jó lenne épségben hagyni.


Rövidesen néhány példakódot beszúrok, amivel próbálkoztam.



2023. febr. 6. 23:01
 1/5 A kérdező kommentje:

Néhány kód, amivel próbálkoztam, de nem vált be:


(1)

$Url = " [link]

function url_get_contents ($Url) {

if (!function_exists('curl_init')){

die('CURL is not installed!');

}

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $Url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$output = curl_exec($ch);

curl_close($ch);

return $output;

}


(2)

$file = " [link]

$file_headers = @get_headers($file);

if($file_headers[0] == 'HTTP/1.1 404 Not Found') {

$exists = false;

}

else {

$exists = true;

$file_contents = file_get_contents($file);

}


(3)

$url = " [link]

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);

curl_close($ch);



Legalább 10 működőképesnek tűnő alternatívát találtam neten, amiből localhoston 5-6 kiválóan szuperált, de ezen a tárhelyen 0.

Az sem titok, hogy egy viszonylag nagy látogatottságú kifogástalanul működő Wordpress oldal van a tárhelyen, ezért kísérletezgetni sem nagyon van lehetőség.

Egy előre elkészített kód publikálása a feladatom, de ilyen körülmények között már a legeleje elvérzik a kódnak.

2023. febr. 6. 23:10
 2/5 anonim ***** válasza:
"tulajdonosa pedig nem hozzáértő" - menekülj ha jót akarsz
2023. febr. 6. 23:22
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

Szolgáltatónak van lehetősége egyes php program parancsot letiltani. Ha jól tudom a php.ini-ben van rá opció, amit te nem érsz el. Ezt önvédelemből csinálják, hogy ha 1 gépen fut több vhost is, ne tudj csak úgy átnavigálni máshova, mint ./../../pistike/kepek/vmi.json


Azaz ha ismered, hogy a php hogyan konfigurálható és nem csak a nyelvet tanulod (hanem az üzemeltetést is) akkor rájöhettél volna. ;)

2023. febr. 6. 23:24
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

Hibakeresés!!!

curl_error() mit mond?

2023. febr. 7. 23:00
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Nekem úgy tűnik, hogy vaktában lövöldözöl, de fogalmad sincs, mit csinálnak ezek a kódok. Az első és a harmadik ugyanaz, csak az első egy függvénybe van ágyazva.

Csak halkan kérdezem: az $output változót felhasználod valamire? Kiíratod? Vagy csak várod hogy történjen vele valami?

2023. febr. 7. 23:04
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!