PHPのcopy()関数に問題があります。PHPでcopy()が中括弧/括弧で囲まれたURLで失敗する
ローカルドライブにhttps://example.co.uk/{8d988e90-a325-4a1c-a340-a489166286b8}/{14409287-2c29-4b51-91e4-0891b5619659}/main/imgnew-(2).jpg
のようなリモートURLをコピーする必要があります。
$replace = array('%7B', '%7D','%28','%29');
$entities = array('{', '}','(',')');
$RemoteURL = str_replace($entities, $replace, "https://example.co.uk/{8d988e90-a325-4a1c-a340-a489166286b8}/{14409287-2c29-4b51-91e4-0891b5619659}/main/imgnew-(2).jpg");
$PicName = "new.jpg"
if(copy($RemoteURL,"C:\Users\Me\Downloads\Pictures\" . $PicName)){
echo "<script>console.log(\"(" . $RemoteURL . ") copied to waiting.\")</script>";
} else {
echo "<p class='float red'>READ ERROR</p>";
}
しかし、これはエラーをスロー:
Warning: copy(https://example.co.uk/%7B8d988e90-a325-4a1c-a340-a489166286b8%7B/%7B14409287-2c29-4b51-91e4-0891b5619659%7B/main/imgnew-%282%29.jpg): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
それはどのようなものです。ここ
は$ RemoteURL変数のためのいくつかのコンテキストとともに、失敗した私のコードの一部です。ちょうど私がここで行方不明になっているか、PHPがURL自体について気に入らないのは何ですか?
マイブラウザエンコード{と}ではなく、():
Eは特定の部品を交換する機能を作成することによって固定した誤差を与えました –
@ MaximKrizhanovsky()を削除するだけではうまくいきませんでした。 – Cawley