[英]string is not getting printed and showing error of division by zero
字符串$unencodedData;
沒有打印並顯示除以零的錯誤
$date = date_create();
$timestamp= date_timestamp_get($date);
$rand = mt_rand(100000,999999);
$string = "cp-string";
$unencodedData = "cp-string"/'.$timestamp.'/'.$rand.';
echo $unencodedData;
file_put_contents('./public/image/share/image.png',file_get_contents('$unencodedData'));
不知道代碼在哪里錯誤。在聲明$ unencodedData時,提示可能是錯誤的;
您可以嘗試像這樣聲明$unencodeData
$unencodeData = 'cp-string/'.$timestamp.'/'.$rand;
或者,如果您嘗試使用$string
var,它將是
$unencodeData = $string.'/'.$timestamp.'/'.$rand;
看起來您正在嘗試分割字符串.. unencodedData應該是文件嗎? 如果是這樣,請嘗試:
$unencodedData = $string . '/' . $timestamp . '/' . $rand";
要么
$unencodedData = "{$string}/{$timestamp}/{$rand}";
我認為您想要的是錯配引號對的簡單情況:
$unencodedData = 'cp-string/'.$timestamp.'/'.$rand;
另外請注意,如果您不關心一點開銷,也可以使用以下代碼使代碼更具可讀性:
$unencodedData = "cp-string/$timestamp/$rand"
;
您必須區分"..."
和'...'
。
'...'
表示基本字符串和一些文本。 不可能有什么特別的。 沒有變量,沒有換行符( \\n
),等等。
"..."
表示php必須仔細查看它。 在".."
內部,可能會有諸如"My name is $name."
類的變量"My name is $name."
哪個php替換為上述變量的內容。
如果使用"
一中'
,反之亦然,它成為一個普通的字符串,你可以這樣做"I don't know"
。
如果在內部使用"
"..."
,則必須對其進行轉義,例如"and then he said \\"I don't know $name\\""
。 '...'
。
因此,您可以執行以下任一操作:
$unencodedData = "cp-string/$timestamp/$rand.";
要么
$unencodedData = 'cp-string/'.$timestamp.'/'.$rand.'.';
(僅出於教育目的:您甚至可以執行以下操作: $unencodedData = 'cp-string/'.$timestamp."/$rand.";
)
如果您不需要解析字符串中的任何變量或\\n
,請堅持使用''
。 對於php解釋器來說,解析起來要快一些。
不能100%確定您的目標是什么,但這看起來像是我認為您要實現的目標:
// -- setup ----------------
$path = './public/image/share/image.png';
$randMin = 100000;
$randMax = 999999
// -- build that string ----
$timestamp= date_timestamp_get(date_create());
$rand = mt_rand($randMin,$randMax);
$unencodedData = "cp-string/$timestamp/$rand.";
// prints something like: cp-string/19245436/123456.
// -- print and save --------
echo $unencodedData;
file_put_contents($path,file_get_contents($unencodedData));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.