iT邦幫忙

0

is_dir判斷錯誤

php
  • 分享至 

  • xImage

小弟使用ftp連結
在下

$filepath="/home/httpd/htdocs/event/EDM/image/$dirname/"
if(!is_dir($filepath))
						{
							//FTP建立資料夾
							$ftpdir=ftp_mkdir($ftp,$filepath) or die("無法建立資料夾");
						}

這段時,第一次都可以 因為是建立資料夾
之後全部還是會照樣跑進這個if 所以都無法繼續執行
我var_dump看了is_dir($filepath) 他的回傳是 Boolean(false)
用filetype去查看則是顯示
filetype() [function.filetype]: Lstat failed for home/httpd/htdocs/event/EDM/image/20191220/ in CopySample.php on line 19
bool(false)

可是我明明就有資料夾存在阿....

而且我發現我連到其他FTP是不會發生這種情況的

---我知道問題了...
問題如下: 我要檢測的應該是FTP那端的資料夾是否存在
所以應該是is_dir('ftp://user:password@example.com/home/httpd/htdocs/event/EDM/image/20191220/')來當判斷條件

目前我下scandir('ftp://user:password@example.com/home/httpd/htdocs/event/EDM/image/');
他回傳 [0] => '20191220'

可是我的is_dir還是回傳bool(false) (暈...
繼續找問題

我解決了 抱歉 我不知道怎麼刪文
就自己寫完解法
剛剛的原因是
我把變數一起寫在''間了 所以就抓不到

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
YC
iT邦研究生 2 級 ‧ 2019-12-20 14:02:17
最佳解答

你的路徑不對?

$folder_exists = is_dir('ftp://user:password@example.com/some/dir/path');
st474ddr iT邦新手 2 級 ‧ 2019-12-20 14:09:41 檢舉

yes

0
咖咖拉
iT邦好手 1 級 ‧ 2019-12-20 13:57:39
<?php
$file = "images";
if(is_dir($file))
  {
  echo ("$file is a directory");
  }
else
  {
  echo ("$file is not a directory");
  }
?>

一般都是這樣寫
你is_dir前面的 "!" 是甚麼?

st474ddr iT邦新手 2 級 ‧ 2019-12-20 13:59:02 檢舉

!代表否定
也就是說資料夾不存在的話
那就會建立一個

st474ddr iT邦新手 2 級 ‧ 2019-12-20 13:59:13 檢舉

我知道問題出在哪了了

咖咖拉 iT邦好手 1 級 ‧ 2019-12-20 14:02:47 檢舉

/images/emoticon/emoticon41.gif

我要發表回答

立即登入回答