Search code examples
phpsyntaxhttp-status-code-500

Create File In Directory Error500


I am trying to create a file in a directory using PHP. Both the file and folder have CHMOD: 777. I am trying to make the file to be called image_ (the file count of a directory + 1) My code is

    <button onclick="<?php 
    error_reporting(E_ALL);
    $directory = __DIR__ . "/images/"; $filecount = 0; $files = glob($directory . "*");  if ($files){ 
    $filecount = count($files); }
    $filecount = $filecount + 1;
    $pagename = 'image_'$filecount;

    $newFileName = './images/'.$pagename.;
    $newFileContent = '<?php echo "TEST"; ?>';
    if (file_put_contents($newFileName, $newFileContent) !== false) {
    echo "File created (" . basename($newFileName) . ")";
    } else {
    echo "Cannot create file (" . basename($newFileName) . ")";
    }
    ?> " class="">Upload</button>

I don't really know PHP and this is an amalgamation of code from different places. What do I need to do to stop the ERROR 500


Solution

  • You are missing one string concatenation at $pagename = 'image_'$filecount; and you are using one more in $newFileName = './images/'.$pagename.;.

    Try to edit your PHP code like this

    <?php
        error_reporting(E_ALL);
        $directory = __DIR__ . "/images/"; $filecount = 0; $files = glob($directory . "*");  if ($files){ 
        $filecount = count($files); }
        $filecount = $filecount + 1;
        $pagename = 'image_'.$filecount;
    
        $newFileName = './images/'.$pagename;
        $newFileContent = '<?php echo "TEST"; ?>';
        if (file_put_contents($newFileName, $newFileContent) !== false) {
        echo "File created (" . basename($newFileName) . ")";
        } else {
        echo "Cannot create file (" . basename($newFileName) . ")";
        }
    ?>