0

したがって、複数行の「names.txt」という名前のファイルがあります。各行には 1 つの名前が含まれます。「participant.jpg」という名前のモックアップ画像も 1 つあります。

そして、ここに私のコードがあります:

<?php
$handle = fopen("names.txt", "r");

function create_img($line)
{
    $im = imagecreatefromjpeg("./images/participant.jpg");
    $textcolor = imagecolorallocate($im, 0, 0, 0);

    // Write the string at the top left
    imagettftext($im, 50, 0, 80, 640, $textcolor, 'nexa.ttf', $line);

    imagejpeg($im, './uploads/' . $line . '.jpg');
    imagedestroy($im);
}

if ($handle) {
    while (($line = fgets($handle)) !== false) {
        create_img($line);
    }
} else {
    die('Cannot open file..');
}
?>

そのため、新しい行ごとに特定の写真を作成し、それをアップロード フォルダーに「アップロード」したいと考えています。

最後の行の画像のみを作成し、残りの行については次のエラーを返します。

Warning: imagejpeg() [<a href='function.imagejpeg'>function.imagejpeg</a>]: Unable to open './uploads/Botond.jpg' for writing: Invalid argument in C:\lab\ccc-badges\badges.php on line 12

これはいくつかの $line 出力です

Alina Popescu
Adrian Oltean
Patricia-Andrada Leven
Stanescu Gheorghe
4

1 に答える 1

1

その問題は、最後の行を除くnewline各の末尾にあるためです。fgets()

imagejpeg($im, './uploads/' . trim($line) . '.jpg');ファイルに書き込むときに使用します。

于 2013-10-17T21:23:30.577 に答える