sprintf uyarı - kodlama sorunu

0 Cevap php

Ben bir kullanıcı için tüm özellikleri bulmak için aşağıdaki kodu kullanarak ve sırayla silin ediyorum. Özelliklerin her biri için Warning: sprintf(): Too few arguments: Benim sorunum bir uyarı alıyorum olmasıdır.

Ancak, manuel olarak silme dize için $user_id girerken first_last%%40ourwiki.com çalışıyor!

Sprintf double '%' ama emin değilim neden gerektirir gibi görünüyor. Bunu aşmanın bir yolu var mı? Ayrıca, ben file_get_contents için aynı değişkeni kullanarak yaşıyorum ve bu çalışıyor.

The Code:

$user="first_last@ourwiki.com";
$user_id=str_replace(array('@', '#'), array('%40', '%23'), $user);
print $user_id;

$url=("http://admin:password@172.16.214.133/@api/users/=$user_id/properties");
$xmlString=file_get_contents($url);

$delete = "http://admin:password@172.16.214.133/@api/users/=$user_id/properties/%s";
$xml = new SimpleXMLElement($xmlString);

function curl_fetch($url,$username,$password,$method='DELETE')
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch,CURLOPT_USERPWD,"$username:$password");
    return  curl_exec($ch);
}

foreach($xml->property as $property) {
  $name = $property['name'];
  $name2=str_replace(array('@', '#'), array('%40', '%23'), $name);
  print $name2;
  curl_fetch(sprintf($delete, $name2),'admin','password');
}

Şimdiden teşekkürler!

0 Cevap