PHP を使用して、フォルダー内の最初のファイルからコンテンツを取得し、コンテンツが読み込まれたらファイルを削除します。ここに私が持っているものがあります:
$a = opendir('./');
while (false !== ($entry = readdir($a))) {
if($entry != '.' && $entry != '..') {
echo $entry = file_get_contents('./'.$entry.'', FILE_USE_INCLUDE_PATH);
break; // only need the first file
}
}
上記のコードはフォルダー内の最初のファイルをロードし、次のようなものを使用して正常に削除できます
unlink("temp.txt");
したがって、許可拒否エラーはありません。しかし、私がする必要があるのは、変数名でファイルを削除することです(すべてのファイル名が異なるため)。驚いたことに、unlink("$entry");
または同様の理由でファイルを削除できず、代わりにそのファイルの内容の最初の数行とともに警告が表示されます。エコーする$entry
とtemp.txtが正しく表示されます。誰かが私を啓発できますか?ここで何が欠けていますか?
(オプションの (関連のない) 質問: 1.txt、2.txt、3.txt、10.txt などの数値ファイルがある場合....上記のコードを何らかの方法で変更できる方法はありますか? 1,10,2,3 ... のようなファイルをロードせず、代わりに 1,2,3,10 のようにロードします...?)
更新: 動作する更新されたコード (将来の参照用):
$a = opendir('./');
while (false !== ($entry = readdir($a))) {
if($entry != '.' && $entry != '..') {
echo $b = file_get_contents('./'.$entry.'', FILE_USE_INCLUDE_PATH);
break; // only need the first file
}
}
unlink("./$entry");