передача корневого пути в файле move_uploaded_file

В первом случае stuff содержит мусор. strcat требует, чтобы и пункт назначения, и источник содержали правильные строки с нулевым завершением.

strcat(stuff, "hi ");

сканирует stuff для завершающего символа '\0', где он начнет копирование "hi ". Если он не найдет его, он сработает с конца массива, и могут произойти сколь угодно плохие вещи (т. Е. Поведение не определено).

Один из способов избежать проблемы заключается в следующем:

char stuff[100];
stuff[0] = '\0';      /* ensures stuff contains a valid string */
strcat(stuff, "hi ");
strcat(stuff, "there");

Или вы можете инициализировать stuff пустую строку:

char stuff[100] = "";

, которая заполнит все 100 байт stuff нулями (возможно, увеличенная ясность стоит любой незначительной проблемы с производительностью).

2
задан vivek modi 17 January 2019 в 01:17
поделиться

1 ответ

Назначением файла move_uploaded_file должен быть путь к файлу, а не URL. Чтобы уточнить это, у вашего веб-сервера есть указанная папка в файловой системе, установленная как веб-корень. Это может быть что-то вроде '/ var / www'. Это означает, что когда вы переходите на « http: // localhost / », он ищет файл, например «/var/www/index.php» или «/var/www/index.php».

пункт назначения может быть абсолютным путем или относительным, поэтому вы можете указать «synt_study_material / student_admin /», и это может быть то же самое, что и «/ var / www / синтез_study_material / student_admin /» (в зависимости от вашего веб-корня и где move_uploaded_file называется из). Обратите внимание, что вы можете использовать dirname(__FILE__), чтобы получить путь к текущему файлу php. Также обратите внимание, что move_uploaded_file не будет создавать каталоги для вас, если они не существуют.

Я предлагаю начать с простого примера, такого как move_uploaded_file(

Назначением файла move_uploaded_file должен быть путь к файлу, а не URL. Чтобы уточнить это, у вашего веб-сервера есть указанная папка в файловой системе, установленная как веб-корень. Это может быть что-то вроде '/ var / www'. Это означает, что когда вы переходите на « http: // localhost / », он ищет файл, например «/var/www/index.php» или «/var/www/index.php».

пункт назначения может быть абсолютным путем или относительным, поэтому вы можете указать «synt_study_material / student_admin /», и это может быть то же самое, что и «/ var / www / синтез_study_material / student_admin /» (в зависимости от вашего веб-корня и где move_uploaded_file называется из). Обратите внимание, что вы можете использовать [110], чтобы получить путь к текущему файлу php. Также обратите внимание, что move_uploaded_file не будет создавать каталоги для вас, если они не существуют.

Я предлагаю начать с простого примера, такого как [111], чтобы увидеть, загружается ли что-нибудь, и внести в него изменения.

FILES['name']['tmp_name'], 'test-upload.txt');
, чтобы увидеть, загружается ли что-нибудь, и внести в него изменения.

0
ответ дан khartnett 17 January 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: