file_existsが機能しません。私はいくつかの例を見てきましたが、まだ行っていません。プログラムはファイルを検出しません。私のファイルのパスは/var/www/osbs/PHPAPI/recording.mp3で、ウェブサイトのルートはosbsの中にあります。このファイルの場所はPHPAPIの内部にあるため、私はfile_put_contentsにフルパスを入れません。プログラムは元のrecording.mp3を作成できますが、追加されたバージョンは作成できません。ループ中にphp5内でfile_exists()が機能しないwhileループ
<?php
$actual_name = pathinfo("PHPAPI/recording.mp3",PATHINFO_FILENAME);
$original_name = $actual_name;
$extension = pathinfo("PHPAPI/recording.mp3",PATHINFO_EXTENSION);
if ($_GET["RecordingUrl"]) {
if (file_exists("/var/www/osbs/PHPAPI/".$actual_name.".".$extension)) {
$actual_name = find_new_name($original_name, $extension);
}
else {
$actual_name = $original_name;
}
$name = $actual_name.".".$extension;
file_put_contents($name, file_get_contents($_GET["RecordingUrl"]));
}
function find_new_name ($file, $extension) {
$name = $file.".".$extension;
$i = 0;
while(file_exists("/var/www/osbs/PHPAPI/".$name)){
$new_name = $file.$i;
$name = $new_name.".".$extension;
$i++;
}
return $new_name;
}
?>
これは巨大なセキュリティ上の問題です: 'file_get_contents($ _GET [" RecordingUrl "])' – greg0ire
@ greg0ireそれはテストのためだとわかります。私は通常、$ _POSTを使用します – fixnode
あなたは面白いです – greg0ire