EDIT 1Zapis do folderu tmp
To pytanie wiąże się użytkownikowi MANGOPAY API. Mój problem polega na tym, że nie mogę napisać interfejsu API do folderu tmp
.
Udało mi się przekonać API do napisania do http://fakedomain.com/apifolder/blank.txt
i uzyskania odpowiedniego wyniku.
Następnie uruchomiłem skrypt http://fake.com/apifolder/demos/iswrite.php
na http://fakedomain.com/apifolder/blank.txt
, aby mieć minimalny działający kod, który mógłbym przetestować w folderze tmp
. Oto kod w skrypcie:
<?php
$filename = 'blank.txt';
echo "<br>";
file_exists($filename);
echo "<br>";
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
echo "<br>";
if (is_writable($filename)) {
echo 'The file is writable';
} else {
echo 'The file is not writable';
}
?>
Daje mi wyjście
The file blank.txt exists The file is writable
więc wszystko dobrze tam. I stworzył następujący plik z następującymi uprawnieniami korzystających Filezilla:
W skrypcie http://fake.com/apifolder/demos/iswrite.php
Zmieniłem nazwę pliku do zmiennej $filename = 'http://fake.com/tmp/creative/blank.txt';
. Daje mi następujący wynik:
The file http://fake.com/tmp/creative/blank.txt does not exist The file is not writable
Również allow_url_fopen
jest włączony.
Nie w pełni rozumiem strukturę adresów URL, więc może problem leży w tym miejscu? Folder tmp, do którego próbuję uzyskać dostęp, znajduje się na tym samym poziomie, co folder public_html
. Może piszę błędnie moje adresy URL?
Put w inny sposób, czy folder tmp
muszą znajdować się poza folderu public_html
? Czy miałby to jakiś cel? Czy mogę utworzyć własny folder tmp
w obrębie public_html
, gdzie to już działa?
oryginalne pytanie
Oryginalny pytanie zostało źle napisane. Zobacz EDIT 1
Gram z piaskownicą API (MangoPay). Zawarłem moje ClientId i ClientPassword, które wydają się działać.
API mówi również ...
Należy również ustawić ścieżkę do folderu w $ API-> config-> TemporaryFolder że SDK musi przechowywać pliki tymczasowe. Ta ścieżka powinna znajdować się poza Twoim folderem www pod adresem . Może to być/tmp/lub/var/tmp/lub dowolna inna lokalizacja , do której PHP może pisać.
Stworzyłem jeden na:
ftp://[email protected]/tmp/fakefoldername
Używam skrypt php z mojego pulpitu za pomocą terminala. Wyjście to daje mi to
Nie można utworzyć lub zapisać do pliku
ftp://[email protected]/tmp/fakefoldername
chociaż mam ustawić uprawnienia do 777.
jakiś pomysł, dlaczego ja dostaję ten błąd?
Z jakiego systemu operacyjnego korzystasz? –
@ Fred-ii- Używam Linuksa z CPanel –
Dzięki. Dodałem odpowiedni tag i usunąłem "http", jeśli to jest w porządku. Może to pomóc w uzyskaniu lepszej ekspozycji i związanej z tym systemem operacyjnym. –