[英]How can a create a folder and save a image on my server in php?
下面我留下了我的代碼。 它目前在我的開發環境(本地主機)中工作,但是當我將更改推送到我的實時服務器時,我的 php 似乎沒有創建文件夾/文件。
public static function saveImage($image, $name, $path = '')
{
$img_data = explode(',', $image);
$mime = explode(';', $img_data[0]);
$data = $img_data[1];
$extension = explode('/', $mime[0])[1];
if(!file_exists('../public/media/img/' . $path)){
mkdir('../public/media/img/' . $path, 0755);
echo('Test1');
}
echo('test2');
file_put_contents('../public/media/img/' . $path . $name . '.' . $extension, base64_decode($data));
return 'media/img/' . $path . $name . '.' . $extension;
}
在本地它會第一次擊中 echo('test1'),然后它只會擊中 echo('test2')。 當它在服務器上時,它總是會遇到 echo('test1')
默認情況下, mkdir 不會遞歸地創建路徑。 例如,如果您的服務器上沒有 ../public/media 文件夾,則 mkdir 返回 false 並且不創建路徑。 為了解決這個問題,將第三個參數傳遞給 mkdir 為 true:
mkdir('../public/media/img/' . $path, 0755, true);
幫自己一個忙並使用絕對路徑...
您可以使用常量__DIR__
來評估腳本實際駐留的文件夾。 相對路徑是從當前工作目錄計算的,可以不同於__DIR__
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.