2012-04-20 1 views
0

このコードは、PHPを使用してフォルダが存在するかどうかをチェックするためのもので、Windowsのxamppで正しく動作しますが、 。ここでPHPを使用してフォルダが存在するかどうかをチェックする方法

は私のコードです:

function validate (&$valores, &$errores, $campo, $carpeta) 
    { 
    $valores [$campo] = $carpeta; 
      if ((file_exists($carpeta) && is_dir($carpeta))==false) 
      { 
        $errores[$campo] = true;     
      } 
      else 
      { 
        $errores[$campo] = false; 
      } 
    } 

私がやっているコードに代わるものはありますか?

+0

一般的に、この種の問題は「大文字と小文字の区別」の問題によるものです。 –

+0

また、パスの問題かもしれません。 '$ carpeta'が実際に' echo'を使って探しているフォルダであるかどうかを確認してください。 –

+0

は "動作しません"と定義しています。/var_dump/step-trough、何を見つけましたかなど – Nanne

答えて

1

解決方法: 私はPHPにopen_basedirというフォルダとファイルを追加しました。私は変更したいと思っていましたが、Filezillaで読み書き権限を修正して修正しました。

0

http://de.php.net/manual/en/function.opendir.phpを使用して、falseをチェックできます。

+0

私はこれを試してみましたが、私が使用している名前が私が探しているものであり、すべてが正しいことに気付いたこともあります。しかし、コードは正しく動作しません。 – edsonlp1

+0

実際、これはウィンドウでは機能しますが、サーバーでは機能しません。 – edsonlp1

0

コードは両方のプラットフォームで正常に動作するはずなので、この問題はありません。

通常、このような問題はnaming systemが原因です。大文字と小文字を区別するネーミングシステムを使用しているLinuxベースのOS。

だから、修正してみてください。

+0

これをチェックしたところ、名前は正しいです。 – edsonlp1

+0

@ edsonlp1、それが正しいかどうかは関係ありません。そのケースはまったく同じでなければなりません。 Direcotoriesとファイルを組み合わせた全体のパス。 – Starx

+0

私はecho($ carpeta)をやって、全体のパスを私に返します。もちろん、そうです。しかし、file_existsを評価すると、私には偽の – edsonlp1

関連する問題