Não é possível fazer upload de arquivos para a pasta do servidor

Serrano

Estou tentando fazer upload de um arquivo de um formulário html para que o arquivo vá para uma pasta específica e o caminho seja carregado para um banco de dados. A parte do banco de dados funciona bem, mas o arquivo não vai para a minha pasta de destino. Eu tenho as permissões de pasta definidas para 777 e em meu arquivo php.ini, file_uploads = on.

<?php

require 'config.php';

$connection = new mysqli($servername, $username, $password, $db);

foreach ($_FILES['upload']['name'] as $key => $name) {

   if( move_uploaded_file($_FILES['upload']['name'][$key], '/upload_test/' . 
   $name)){
    echo "Uploaded";
} else {
    echo "Debug ", print_r($_FILES);
};

$path = '/upload_test/' . $name;

mysqli_query($connection, "insert into docs (path) values ('$path')");
}
?>
<script src="addInput.js" type="text/javascript"></script>

<form method="POST" action="upload.php" enctype="multipart/form-data">
    <div id="dynamicInput">
        <input type="file" name="upload[]" multiple><input type="button" 
        value="+" onClick="addInput('dynamicInput');">
    </div>
    <input type="submit" value="Upload">
</form>

Quando tento fazer o upload, ele retorna o seguinte:

Debug: Array(
     [upload] => Array(
        [name] => Array([0] => test.docx)
        [type] => Array([0] => application/vnd.openxmlformats-officedocument.wordprocessingml.document)
        [tmp_name] => Array([0] => /tmp/phputnLek)
        [error] => Array([0] => 0)
        [size] => Array([0] => 12551)
    )
)
Jeroen

Com base em seu comentário, parece que você está tentando fazer upload para o diretório errado:

if (move_uploaded_file($_FILES['upload']['tmp_name'][$key], '/upload_test/' . $name)) {

Observe que o caminho '/upload_test/' . $nameestá na raiz do seu sistema de arquivos, pois começa com uma barra /.

Se desejar mover o arquivo para um diretório relativo àquele em que está executando o script, você precisará:

if (move_uploaded_file($_FILES['upload']['tmp_name'][$key], 'upload_test/' . $name)) {
                                                             ^ relative to the current path

Como os caminhos relativos tendem a causar confusão, você também pode definir uma variável para definir a raiz do seu site em relação à raiz do sistema de arquivos ou usar o valor fornecido por php $_SERVER['DOCUMENT_ROOT'],.

Por exemplo:

define('WEBROOT', '/var/www/html');
...
if (move_uploaded_file($_FILES['upload']['tmp_name'][$key], 
    WEBROOT . '/multiple_file_upload/upload_test/' . $name)) {

ou:

if (move_uploaded_file($_FILES['upload']['tmp_name'][$key], 
    $_SERVER['DOCUMENT_ROOT'] . '/multiple_file_upload/upload_test/' . $name)) {

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Não foi possível fazer upload de vários arquivos para a pasta usando PHP

Não é possível fazer upload de arquivos na pasta raiz do servidor AWS recebendo 'erro de permissão de arquivo'

Não é possível fazer upload de arquivos no servidor Godaddy

Não é possível fazer upload de arquivos de mídia em produção Django para pasta externa

Não é possível fazer upload da imagem para a pasta

Não é possível fazer upload da imagem para o servidor devido a 500 erro de servidor

Não é possível fazer upload da imagem para o servidor devido a 500 erro de servidor

Não é possível fazer upload do arquivo para a pasta usando PHP

Não foi possível fazer upload do arquivo para a pasta no Google Drive

Não é possível fazer upload de arquivos com ACL de leitura pública para espaços digitais do oceano

Não é possível fazer upload do arquivo do PHP para o servidor Centos?

Não é possível fazer upload do arquivo para meu servidor Ubuntu por meio de script php

Não é possível fazer upload do arquivo para o servidor em PHP

Não é possível fazer upload do arquivo para o servidor

Preciso fazer upload e ler os arquivos de imagem para uma pasta que não faz parte da pasta do meu projeto Asp.NET MVC 5. Meu site está hospedando no servidor IIS. Qualquer ideia?

fazer upload de arquivos de imagem do IOS para o servidor web

Não é possível fazer upload de arquivos para o diretório local

Não é possível fazer upload de vários arquivos para o drive

Como fazer o servidor netcat para lidar com o upload de arquivos do Powershell?

Tente fazer upload de arquivos para o servidor

Dropzone: não é possível fazer upload de imagens grandes para o servidor (> 5M)

Não é possível fazer upload de arquivos RDF grandes para um conjunto de dados Fuseki

Não é possível fazer upload de arquivos de áudio para Cloudinary API (com javascript)

É seguro fazer upload de arquivos em uma pasta no servidor

Como fazer upload de arquivos para o servidor a partir do formulário html usando python cgi

Não é possível fazer upload de arquivos grandes para Python + Flask no GCP App Engine

Não é possível fazer upload de arquivos para lançamento no Github

Não é possível fazer upload de arquivos grandes para Python + Flask no GCP App Engine

Não é possível fazer upload de vários arquivos

TOP lista

quentelabel

Arquivo